You're standing inside the case study. Here's how this whole thing got built, fast, by me and an AI pair, in a voice that's mine, on a stack cheap enough to hand the same thing to a corner store down the road.
Claude Code · custom voice skill · Cloudflare Pages + Functions · Workers KV · GitHub
The premise · Why eat my own cooking
Truth be told, most consulting sites are a billboard. Mine needed to be a working demonstration, because I sell building things, and the fastest way to prove I can build yours is to point at the one you're reading. Every piece here, the marketing pages, the lead-intake form that actually emails me, a private prospecting dashboard, password-gated demo sites for local businesses, a reusable template that spins up a neighbor's site in days, all of it is the same kind of work I'd do for a client.
So this case study is a little unusual. The product and the proof are the same object. Let me walk you through how it got built, and why it's built the way it is.
Architecture · The big picture
Here's the entire system. One stack, three jobs: a build loop that turns conversation into deployed code, a public site for clients and the community, and a set of private tools sitting behind a single password.
The build loop · Claude Code + a voice skill
I built this site by pairing with Claude Code, describing what I wanted and steering as it wrote the markup, the styles, and the serverless functions. That part is becoming common. The part that matters is the voice.
I wrote a custom voice skill, a little rulebook the AI loads on every session, that captures how I actually write: story first, honest about tradeoffs, allergic to the tells that scream "a robot wrote this." No em-dashes. None of the smug "it's not X, it's Y" constructions. No filler. When I caught a phrasing I hated, I added a rule, and it never showed up again. Every page on this site went through that filter, which is why it reads like one person instead of a content mill.
The mechanics underneath are deliberately boring, which is the point. Code lives in a private Git repository. Every change is a commit. Pushing to the main branch deploys the live site in about a minute, with no servers for me to babysit. I can do it from my laptop or my phone, and the voice skill rides along in the repo so the writing stays consistent wherever I work.
The public site · Serverless functions
A brochure site is easy. This one does actual work. The lead-intake form takes a real submission, runs it through a hidden honeypot field to swat away bots, and emails it straight to me through a verified sending domain. That's a Cloudflare Pages Function: a small piece of code that runs on demand at the edge, so there's no always-on server sitting there costing money and waiting to be patched.
The booking page hooks into a calendar so people can grab a working session without a back-and-forth. The whole public site is static files plus a handful of these functions, which is why it's fast everywhere and costs almost nothing to keep online. That low running cost is exactly what lets me offer a local business a real site for a price that makes sense.
The community engine · GeoOutbound, demos, the template
Behind one password sits the part I'm proudest of, because it's pointed at the South Shore. GeoOutbound is a prospecting dashboard that finds every local business near a town, scores each one on how strong it is and how thin its web presence is, and ranks them so the ones I could genuinely help float to the top. I can mark a lead's status, keep notes, and those changes follow me across devices because they're saved server-side in Cloudflare's key-value store.
Next to it is the part that closes the loop. From a reusable website template, a single config-driven file, I can stand up a concept site for a real local business in an afternoon. I show it to them behind a password before anyone commits to anything. The barber, the tutoring center, the general store that's been on the corner since 1938, each can see exactly what their site would look like, in their own colors, before spending a dollar.
The economics are the quiet engine here. Because everything is static files and serverless functions on infrastructure I already use, hosting a neighbor's landing page costs almost nothing. That's what lets me price it for a small business instead of an enterprise, and it's why a tool for finding local businesses and a tool for building their sites live in the same place.
The design decisions, plainly
If you run something local and you've been putting off a real website, this is the stack I'd build it on, and the price reflects it. Let's talk.