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've built software before, but this project runs as a deliberate experiment: I describe what I want, an AI coding tool called Claude Code writes every line of code, and I check the results, not the code itself. I click through the site, try to break the forms, check that the right data shows up, try to get into places I shouldn't be able to, and judge what I find. I don't review the code line by line.

The question this site is quietly testing: can someone with real building experience, who isn't writing the code by hand, actually ship and run something real this way? This log tracks the answer as it unfolds, one work session at a time, so you can borrow what's useful and skip what isn't. Even if you've never written a line of code, the lessons here about testing, security, and building AI tools for a small business are the same ones I'd want you to walk away with.

How I Work

Steering the blog back to everyday AI tips, with less theory

I noticed the writing here, and on the blog, had been drifting toward denser, more theoretical territory than most readers came here for. So I simplified the language throughout this Build Log, and I'm now steering new blog posts back toward practical, everyday AI tips and tricks, the kind that are useful whether you've never touched AI, you use it daily at work, or you build with it for a living, with a bigger idea mixed in now and then instead of leading every post.

Data & Databases

The blog goes fully self-service: drafts, previews, and a missing color

I moved the last two blog posts that were still hardcoded into the website's files over to the database, so now every post gets created and edited from the admin panel with no coding required. Along the way I fixed a topic tag that had lost its color on the live site, stopped the editor from accidentally creating duplicate posts, and added a preview so I can see a draft exactly as readers will.

Performance & Speed

Making the site faster, and proving it instead of guessing

The site felt slow, and I kept force-refreshing my browser just to see my own changes show up. It turned out to be two separate problems wearing the same disguise: the site was sending visitors a blank page and doing all the real work afterward, and the site's saved copies of pages didn't know when I'd changed something. We fixed both, but what I care about most is that we measured the improvement instead of just trusting a feeling.

Data & Databases

Real visitors start using the site, and find three bugs I never saw

Once people outside my own testing started using the site, they surfaced three bugs within a day that I had never hit myself: submitting a story crashed if certain fields were left blank, one visitor's map pin landed in the wrong state, and comments that saved correctly never actually showed up. We fixed all three, and made the comments feature better along the way.

Building & Shipping

A day of small blog fixes: a broken image, a phantom 'not found,' and a date off by one

A grab-bag debugging session on the blog: why an image from Google Drive wouldn't load, why a freshly published post said "page not found," why LinkedIn showed the wrong preview when a post was shared, and why a date displayed a day early. Each problem looked small, and each one taught me something.

Trying New AI Models

Testing Claude Fable 5: the page you're reading is the experiment

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

Building & Shipping

Making the site real: an admin login, a blog editor, and a subscriber list

One long session spent removing the placeholder scaffolding and making the site real: a proper login for the admin panel, a blog editor connected to the database, and a dashboard for newsletter subscribers.

Security Conversations

A real security vulnerability shows up, and fixing it is just a conversation

The company that hosts this site flagged a known security vulnerability in Next.js, the framework the site is built on. Claude Code figured out how exposed we actually were, fixed it, and the fix went out as a properly reviewed update.

Building & Shipping

Polish day: branding, search-engine basics, and the stubborn problem of email

A day of small, quick improvements: the logo, the browser-tab icon, the sitemap, and the details that control how the site looks when it's shared or found in search. Plus the surprisingly stubborn problem of making emails look right in real inboxes.

Cloud Tools & Setup

Connecting the behind-the-scenes pieces: Google Cloud, Gemini, and a subscriber database

The newsletter runs on three connected services: Google's Gemini AI writes the content, Gmail sends it, and a service called Upstash Redis stores the subscriber list. Claude Code operated all three from the command line and tracked down a tricky configuration mismatch.

Security Conversations

The security conversation: locking down the database on launch day

A few hours after the very first version of the site was built, I asked Claude Code to review its own work for security problems. It tightened the database's permission rules, removed a file with sensitive setup details from the project, and then we worked together to debug those rules until they were both safe and actually usable.

Building & Shipping

Day one: a full community platform, built in a single day

theaihandyman.org went from an empty folder to a working website with story submissions, a review panel, an interactive world map, and a newsletter signup, in one day of back-and-forth conversation with Claude Code.

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

Share Your Story