Rewriting this blog with help from Claude Code

I recently rebuilt this blog by leaning heavily on Claude Code. It was an excellent experience but also something of a mind melting one.

Some background: my previous blog was built with Pelican, the Python static site generator, but since my current team works much more with JS I wanted to switch languages and learn something new.

I knew I wanted to change to the Eleventy static site generator, and I wanted to learn more about Tailwind. Before starting with Claude I'd already built a tutorial Eleventy blog (the most basic imaginable). This gave me a very simple scaffold for Claude to work with. I'm sure it wasn't necessary but I wanted to have at least the beginning of an understanding of what Claude was doing.

After this I almost entirely vibe coded the rest of the implementation. Claude handled the migration of my existing posts, suggested the full styling setup, and then implemented it. I barely had to touch anything until it came to choosing the fonts - at which point I took the opportunity to learn more about Tailwind. My main interaction was pointing out errors which Claude then fixed.

Things were a bit more involved when it came to writing a GitHub action to automatically deploy the blog to Cloudflare Workers. This required a significant amount of pasting errors in, and in the end I spotted a few mistakes that I had to fix manually or based on Cloudflare logs. However, Claude did most of the lifting including diagnosing an issue by adding custom error logging.

This was a very different experience to my previous AI-assisted mini-project, using Copilot in late 2024. I built a useful tool but it felt like a toy, and I felt like I was doing a lot of the work. The end result was janky and not easy to extend or change.

So far, the implementation took me about two hours, and has cost me less than $10 using the Claude API. This feels oddly expensive for something I could have done myself. But then I think of the astonishing amount of time I've saved, and the quality of the end product, and it feels cheap.

There are two problems. First, I have no idea whether this is a good implementation. Where possible, I chose the recommended approach when given options, but without real knowledge I'm just going along with Claude's choices. Second, I feel very disconnected from the end result. I'm not sure whether I can say I built this - but, does that matter?