Challenge
The site you're on used to be three problems
Six months ago I had a different business. I sold myself as a fractional Head of Content for B2B SaaS. The old site was about me, my CV, my testimonials, my rates. It worked.
Then I started spending more time building automation systems for clients than writing content. n8n workflows that drafted SEO articles. Reddit comment systems that earned thousands of impressions a week. Content brief generators that turned a keyword into a publish-ready brief in ten minutes. The work was different. The pricing was different. The buyers were different.
The old site couldn't pivot. It needed a real rebuild.
I knew what I wanted:
- A homepage that sold the new offer clearly – not a personal CV, a product catalog
- A blog so the site could rank for real searches and pull in buyers I haven't met yet
- A directory of every automation I build, with detail pages people can actually read
- Case studies, with metrics, structured so I can add more without rewriting the layout
- A CMS so I can update content without opening a code editor at 11pm
- 72 SEO landing pages – every "automation cluster" crossed with every industry I serve, like
/services/seo-automation/healthcare. The dogfood version of the pSEO work I sell clients
I priced this out.
The agency path was $15-25k for the build, 8-12 weeks of timesheets, and every future change becomes a ticket I'd pay for. I'd be back to depending on someone else's roadmap to update my own site.
The no-code path (Framer, Webflow) handled the marketing pages fine. It fell apart at the automation directory, the CMS-driven case studies, and especially the pSEO matrix. Those need real database tables and real templating. Not a no-code visual builder's job.
The "write it myself in Next.js" path was the third option. I write the occasional script but I'm not a full-time engineer. The path was real but it was going to take me 3-4 months of weekends to do it badly and then another month to fix what I'd done badly.
The version that actually worked was the fourth one: build it with Claude Code as a pair programmer. I'd describe what I wanted, it would write the code, I'd review and ship. The version I'd write alone would take 4 months. The version we built together took 4 weeks of evening sessions.
This case study walks through what that actually looked like – the rhythm of a session, what was easy, what was hard, what it cost, and when I'd recommend the same approach versus when I wouldn't.
Solution
What Claude Code actually is
Claude Code is a coding tool from Anthropic. You install it on your laptop, open a project folder, and talk to Claude the way you'd brief a freelance developer. You describe what you want. It writes the code, runs it, fixes errors, and reports back. You review what it did and decide what ships.
The non-obvious part is that it's not a chat window where you copy-paste code from a browser. It works inside your project. It reads your existing files, writes new ones, runs your tests, and commits to git. You can watch it work in real time.
The cost is about $20 a month for the subscription. That's the whole tooling spend. Vercel, the hosting service, has a free tier that covers a site this size. The database (Neon Postgres) is free up to a few gigabytes. The email service (Resend) is free for the first 3,000 emails a month. Total monthly cost: about $20.
How a session actually feels
I'd open the project folder and tell Claude Code what I wanted that night. Three examples from real sessions:
- "Build the homepage. Hero with a headline and two buttons. Then a logo strip, then a problem section, then a section showing the four kinds of automations I build. Use Tailwind. Make it look like Modula's site – I'll link the reference."
- "Add a Payload CMS for blog posts. I want to write posts in a rich text editor, have them auto-render, and get an RSS feed I can submit to Google."
- "Build the pSEO matrix. Five clusters times eleven industries equals 55 leaf pages, plus 5 cluster pillars and 11 industry pillars. Plus one services hub. So 72 pages total. Each leaf page should have the keyword in the H1, H2, and meta description."
It would propose a plan first. I'd read the plan, push back on anything that didn't fit, and approve. Then it would write the code. When it ran into errors – missing imports, type mismatches, mismatched routes – it would notice and fix them itself before showing me.
The longest session was the pSEO matrix one. It took about 3 hours of evening work. The output was a 72-page section of the site that, if I had paid an agency to build, would have been a 4-6 week contract on its own.
The shortest sessions are 15-minute things like "the spacing on this section is too tight, fix it" or "add a 'Live' badge to automation cards when the case study is shipped." Quick fixes are quick. Big features take an evening or two.
The CMS so I can edit my own site
The hardest single decision in the build was which CMS to use. I needed something where I could log in, write content, hit publish, and have it on the live site without touching code. There are three real options for this in 2026:
- A hosted CMS like Sanity or Contentful – good, but the free tier is tight and the paid tier starts to add up at scale.
- A "headless WordPress" – WordPress as the editor, my own frontend rendering the content. Works but feels like building a porch on the back of someone else's house.
- Payload CMS – self-hosted, runs inside the same Next.js app, stores content in Postgres, has a real admin UI. Free.
I picked Payload. The setup took two evenings. After that, every new content type (blog posts, case studies, automation cards, popups) was an afternoon of work. Now there's no "log in to the dashboard, set up Zapier, etc" path between me thinking of a content change and it being live. I just log in to the admin, edit, hit publish.
The pSEO matrix – the part I'm proudest of
Programmatic SEO is the thing I sell clients. So my own site needed to dogfood it. The math:
- 5 automation clusters (SEO, Content, Social, AI, Marketing)
- 11 industries (Ecommerce, SaaS, Agencies, Tech, Retail, Healthcare, Real estate, Enterprise, Education, Finance, Small businesses)
- Cross-product: 5 × 11 = 55 cluster-by-industry leaf pages
- Plus 5 cluster pillar pages, 11 industry pillar pages, and 1 services hub page
- Total: 72 pages, every one keyword-targeted
The version I'd write alone would have been one Next.js dynamic route per page type. Fine for 5 pages. Painful for 72.
The version we built with Claude Code uses three database tables (clusters, industries, optional overrides), four shared template pages, and one library file that picks the right keyword per page. Adding a new industry means clicking "Create new" in Payload, filling in a form, hitting save. The site immediately has 5 new leaf pages live, with the right SEO baked in.
The whole matrix took one long evening session – plan in the morning, build in the afternoon, content seeded that night. Try doing that yourself in 5 hours starting from a blank repo. I can't.
What was hard
The parts that took the most back-and-forth were the parts where the existing libraries had quirks I didn't know about. Vercel's image hosting needed a special configuration step that isn't in any of the docs – it took an afternoon to figure out, then 10 minutes to fix. The rich text editor's "paste markdown and have it auto-format" feature works, but only if you paste from a rendered markdown preview, not from raw text. Tiny things that cost an hour each.
Every time we hit one of those, Claude Code wrote the fix and also added a note to a "things to watch for" file in the project. The next time the same problem could have happened, it didn't – because the warning was already in the project's memory.
That memory loop is one of the things I'd flag to anyone using Claude Code for the first time. The tool gets better at your specific project over time, not worse. The 30th evening session understands my codebase, my conventions, my preferred component patterns. It's the opposite of bringing in a new contractor every quarter who has to relearn everything.
What I'd hand off
If I sold this build pattern as a service, here's what the client gets:
- The full repository, deployed and live
- A Payload CMS they log into to edit content
- All the content types I'd built for myself, configured for their needs
- A CLAUDE.md file in the project that documents every decision, every gotcha, and every workflow – so if they ever want to bring in a different developer (or use Claude Code on a different machine), the new contributor is productive in one reading
- A Loom showing how to add a blog post, add an automation card, add a case study, install a new content type
- A runbook of the common errors and how to fix them in 30 seconds
That documentation set – not the code – is the thing that makes this approach sustainable for a non-engineer founder. The code's just the artifact. The runbook is what makes it run.
Impact
The numbers
The site you're reading is the impact. But the specific numbers:
- 72 SEO pages live on day one, every one with a keyword in the H1, H2, and meta description
- 25 automation cards published, with detail pages going up as I write the buyer-led 2,000-word body for each one
- 6 blog posts at launch, with an in-CMS editor I use myself
- 3 case studies structured the same way as this one
- Sub-1.5 second first contentful paint on the homepage on mobile, on a real cold cache
- Lighthouse 95+ across all four scores on the homepage and on representative deep pages
The build cost
About $20 a month in tooling: that's the Claude Code subscription. Vercel, Neon Postgres, and Resend all sit on free tiers that handle this site's traffic comfortably. If traffic grew 10x, the bill would still be under $40 a month.
The agency quote I had been comparing against was $15-25k upfront plus per-change tickets. Year one cost, with reasonable change requests included: $20-40k. Year one cost with Claude Code: $240. The math wasn't close.
What I do differently now
Three things changed about how I build, once Claude Code became the default:
- I stopped scoping changes by "is this big enough to be worth doing." Quick fixes are 15-minute jobs. So I do them.
- I started writing CLAUDE.md files for every project. The investment of 30 minutes to document conventions pays back every single future session.
- I stopped treating the agency path as the safe default. For marketing sites, internal tools, and content-driven products, it's now the more expensive and slower path.
When this is a good fit
- You're a non-engineer founder who wants to ship a real site, real CMS, real content infrastructure
- You're willing to spend evenings on it, not whole days
- You have a clear sense of what you want, or you're willing to start with rough scope and let it sharpen in the first few sessions
When this isn't the right fit
- You're building something with hard security requirements (payments, healthcare records, identity). For those, hire an actual engineer.
- You want a person you can blame when something breaks. Claude Code is a tool. You're the one shipping.
- You don't have the time to be in the loop. The model writes the code; you review and ship. If you can't show up for the review, the work stalls.
How to start
Book a call. Bring the project you've been putting off because the agency quote was too high. We'll talk through whether Claude Code is the right fit. If it is, I'll either build it with you over a series of sessions, or build it for you and hand it over with the documentation that makes it yours.
The site you're reading is the proof that this works at real scale. Yours can be next.
Results
- 72 SEO landing pages live and indexable on day one (the cluster × industry matrix)
- 25 automation cards published with detail pages getting filled in weekly
- A Payload CMS the founder updates themselves – no dev tickets, no agency retainers
- Total monthly cost: about $20 (Claude Code subscription) – Vercel + Neon + Resend free tiers cover the rest at this traffic
- Build time: ~4 weeks of evening sessions, not 4 weeks of full-time work
Built with
Reusable systems behind this build – same automations are available for your team.