Skip to main content
cd ../blog

I Pulled My "Google Maps Growth" Page This Week — Here's Why

Joe Blas··6 min read
Build in PublicAI AgentsAutomationCloudflareWeekly Update

This blog's been quiet for about six weeks. Going forward I'm posting weekly — what I built, what broke, and what's happening in the AI tools I use daily that's actually worth your time. If a week's quiet, I'll just say that instead of padding it out.

This week's biggest thing was a page I had to pull.

I pulled my "Google Maps Growth" page

I had a page on this site promising a managed Google Business Profile growth service. I wrote that page ahead of actually building and testing the thing, which is backwards, and I noticed it before anyone signed up for something I couldn't yet back up.

So it's down. The old URL now redirects to a local-visibility audit I'm building to replace it — pulling real data from DataForSEO instead of a page that just said the right words. Along the way I found three places where I'd guessed at DataForSEO's response schema instead of reading their actual docs, and all three guesses were wrong. Those are fixed now. But fixing three known bugs isn't the same as the tool being done — I haven't run it end-to-end against enough real businesses yet to call it tested, so I'm not calling it that. It's further along than the page it replaced, and that's the honest claim for now.

The one thing I am sure of: this tool is read-only against DataForSEO. There's no version of it, tested or not, that touches anyone's actual Google Business Profile without me looking at it first.

A merge gate that catches some of my own review

The other piece of infrastructure that went live this week: a chunk of my code review now runs in CI instead of living entirely in my head.

The shape of it: an agent opens a pull request. A second, independent review runs against it — separate context from whoever wrote the code, so it isn't just checking its own work. If that review comes back clean and the tests pass, the PR merges without me clicking anything.

Where it stops matters more than where it doesn't: anything touching money, production data, outbound messages to clients, or a handful of paths I've explicitly flagged still needs my sign-off on the PR itself before it merges. Everything else has to clear the same bar a human reviewer would hold it to. It's not fully proven yet either — it's a few days old — but it's live and I'm watching it.

Same principle as the pipeline I wrote about for Archive's beta loop back in August: let the small, recoverable stuff move on its own, and keep a human between the agent and anything that isn't.

What broke: the whole dev box

Build in public means the failures count too. My dev machine went down hard this week — not a service, the whole WSL2 VM. Turned out to be memory exhaustion: something ran the guest out of RAM until the kernel gave up, taking every agent session and cron job with it.

I looked at the usual fixes — systemd-oomd, earlyoom — and neither fit how this VM is actually set up. What's running now instead is a small watchdog that scores processes by memory use and kills the worst offender before the kernel has to. It's boring, and I haven't stress-tested it hard enough to call it solved, but it's watching the box now instead of nothing.

What's worth your attention this week

Part of the point of this weekly post is the tools I'm actually using, not just what I'm building. Three things this week are worth knowing if you build with agents at all:

  • Cloudflare started blocking AI agent traffic by default on pages that run ads, as of September 15. Their definition of "agent" is broad — anything acting in real time on someone's behalf, including browser-use agents. If you've got an agent that fetches or acts on the open web, worth checking your own traffic against this before something quietly starts failing.
  • Cloudflare also shipped temporary accounts for AI agentswrangler deploy --temporary puts a Worker live with no signup, and a human has 60 minutes to claim it permanently through a browser link. Useful pattern if you want an agent standing up infrastructure without handing it permanent credentials.
  • Claude Code's September release extended Cowork to web and mobile, with sessions saved and synced across devices instead of living in one terminal window. I'm writing this post in Claude Code right now, so this isn't abstract for me — it's the tool doing the work.

I'm also a few weeks into trying out God's Eye View, an open-source live-map project, on an isolated install on this box. Still auditing it, nothing to report yet — I'll write about it once I've actually put it through its paces.

Next week

Same format: what shipped, what broke, what I'm still testing. If you want this kind of pipeline — a review gate, an agent hierarchy, a human sign-off where it actually matters — that's what I build as the Agent System. Otherwise, see you next week.

Private AI Setup Service

Keep Your Data Where It Belongs

I'll set up a fully private AI on your hardware — Ollama, Open WebUI, model configuration, and team onboarding. One flat fee. No monthly subscriptions. Your data never leaves your building.