The Build Log

Building This Site with Claude Code

A running, honest log of how this entire platform is being built through conversation with Claude Code: what I asked for, what worked, what broke, and what I learned along the way.

How I work, and why this log exists

I am an experienced builder, but this project runs as a deliberate experiment: I describe what I want, Claude Code writes every line of code, and I inspect the outputs, not the implementation. I click through the site, try to break the forms, check the data, attack the auth, and judge the result. I do not review the code line by line.

The question this site is quietly testing: can an expert who works in a no-code/low-code style ship and operate something real this way? This log documents the answer as it unfolds, session by session, so you can borrow what works and skip what does not.

Data & Databases

The blog becomes a real CMS: drafts, previews, and a color-tag fix

I moved the last two hardcoded blog posts into the database, so every post is now created and edited from the admin panel. Along the way I fixed a category tag that lost its color in production, stopped the editor from creating duplicate posts, and added a draft preview plus a publish date that stamps when a post actually goes live.

Performance & Optimization

Making the site fast — and proving it instead of guessing

Pages felt slow, and I kept hard-refreshing to see my own changes. That turned out to be two different problems hiding under one symptom: the site was sending a blank page and doing all its real work in the browser, and its cache had no idea when I changed something. We fixed both — but the part I care about most is that we measured before and after instead of trusting my gut.

Data & Databases

The first real users arrive: a crash on blank fields, a pin in the wrong state, and comments that would not show

The first people outside my own testing started using the site, and within a day they surfaced three bugs I never hit myself: story submissions crashing on blank optional fields, a map pin landing in the wrong state, and comments that saved but never appeared. We fixed all three and made the responses feature richer along the way.

Building & Shipping

A day of blog fixes: Drive images, a phantom 404, LinkedIn cards, and an off-by-one date

A grab-bag debugging session on the blog: why a Google Drive image would not load, why a newly published post returned "page not found," why LinkedIn showed the wrong preview, and why a date displayed a day early. Each one looked small, and each one had a lesson underneath it.

Frontier Models

Testing Fable 5: the page you are reading is the experiment

Anthropic released Claude Fable 5, the first model in the Claude 5 family. My first real test: asking it to design and build this Build Log from a single prompt.

Building & Shipping

Going production-ready: admin auth, blog CMS, and subscriber dashboard

One long session to remove the demo scaffolding and make the site real: authentication on the admin panel, a blog post editor backed by Firestore, and a newsletter subscriber dashboard.

Security Conversations

A real CVE lands, and the fix is a conversation

Vercel flagged React Server Components CVE vulnerabilities affecting this site's Next.js version. Claude Code assessed the exposure, patched it, and the fix shipped as a reviewed pull request.

Building & Shipping

Polish day: branding, SEO, and the long tail of email rendering

A day of small loops: logo, favicon, sitemap, robots, OpenGraph metadata, and the surprisingly stubborn problem of making emails look right in real inboxes.

CLI & Cloud Integrations

Advanced CLI work: wiring Google Cloud, Gemini, and Redis from the terminal

The newsletter pipeline connects Gemini for content generation, Gmail for delivery, and Upstash Redis for subscriber storage. Claude Code drove the CLIs and debugged the environment variable maze.

Security Conversations

The security conversation: locking down Firestore on launch day

Hours after the first build, I asked Claude Code to audit its own work for security problems. It hardened Firestore rules, pulled secrets out of the repo, and then we debugged the rules together until they were both safe and functional.

Building & Shipping

Day one: a full community platform in a single day

theaihandyman.org went from an empty folder to a working Next.js platform with story submissions, a moderation panel, an interactive world map, and a newsletter, in one day of conversation.

Building something with AI yourself? The whole point of this community is trading real notes. Share what you are learning.

Share Your Story