Original

Build-A-Blog

I mentioned in my last post that I pulled together this blog with AI. I want to share a bit more detail as a way of demonstrating to others some things AI can do.

(With so much hype and so much criticism out there, descriptions from trusted friends of how they were using AI have been very helpful in updating my own mental models.)

I had been meaning to make a blog archive for several years, and even started it at one point, but there were some tedious technical challenges:

Pulling together a static site to host the content. I went through a period a few years ago where I made a custom static site generator for every project, just for the fun of it and to try different ways of doing things, but then I moved on. It left me opinionated enough to be annoyed with the limitations of existing libraries but too lazy to do a custom generator for this project. A minor issue, but a real one.

Finding all my old blog archives. I back everything up but I do it in the most chaotic way possible. “I forget what I backed up last time so I’ll just back up everything again.” I have over a dozen hard drives/thumb drives with identical folder names on them and it’s just a mess to manually search through.

john mulaney gif

Custom importers. Once I found all my archives, I’d have to write custom importers for each format (Wordpress, tumblr, Ghost, buttondown, my own custom sites, etc) and handle all their weird syntax edge cases as I standardized them.

None of this is insurmountable but it was enough that I kept putting this project off for literal years. Until last week when I realized, “Hey, I could use AI for this.”

I didn’t one-shot the project, but I gave the AI a lot of free rein. A static personal blog archive is the kind of low stakes task where I don’t really care if I can read the code. When working with AI, I like to ask myself, “What the worst that can happen?” My very first AI project was a recipe management tool that I fully vibe coded and my answer to “What’s the worst that could happen?” was “I make gross food”. Cool. Risk accepted.

(I also often use AI to work on projects that focus on new topics or technologies. Those are also low stakes, but I care if I can read the code because I’m trying to learn.)

It took maybe four or five hours total to put the site together. It’s hard to know exactly how much it cost in tokens but I’d estimate maybe a dollar or two.

AI was especially helpful with:

  • Finding archives on my hard drives. I didn’t give it access to the hard drives, instead I asked it to give me very precise grep commands which I used to locate the archives, then I’d copy and paste them into the blog repository.

  • Writing import scripts that mostly work. Sometimes I still find weird syntax, then I copy the url for the agent and say, “Can you fix that syntax?” It took a few tries but now when I do this, it identifies the underlying problem, writes a fix that will work for all posts, adds it to the import scripts, and re-imports the files. So it’s not just fixing it for one post once, but for all posts going forward.

  • Adding new features to the blog. I said, “Can you add a search page?” and it added a search page in one shot. I asked for an RSS feed and it built it in one shot. AI is really good at this kind of straightforward task! There may very well be errors in how this is implemented but it seems to work fine and that’s better than it not existing at all.

I have so many thoughts and concerns about AI but I also think it’s important to acknowledge that these tools are very powerful. Flawed, but powerful.

More soon.