Self-Healing Sausage Maker
Operational Efficiency

Self-Healing Sausage Maker

I am deliberately not using AI to write this blog post, except for the image of course! You can compare the quality of my unassisted writing with writing where I used AI to help. There's nothing wrong with leaning on AI to create content, as long as the result is better than what you would have created on your own. Otherwise what's the point? You're probably just creating AI slop. This post describes how I created my previous post using AI to help me create something better (I think) than what I would have created on my own. I'm showing you how the sausage is made.

When I've finished the post, I'll pass it through an AI detection tool to see whether it correctly identifies it as a human creation. I'll also pass my previous post through the tool to compare.

Creating a Bespoke CMS

I love the idea of having an AI personal assistant. I started building one last week and had a basic version up and running a few days later (I wrote about the origin story here). I'm already using it heavily and plan to expand its functionality constantly. One of the first expansions I implemented was to give it the ability to help me brainstorm, generate and publish blog posts.

From the moment I decided to build out the functionality (essentially a headless CMS framework that I can control via an MCP server, and a Web UI in case I need to manage content directly) to when I published my first blog post only took 1.5 days! I used Claude Code, it's incredible, and I'll share details of my development workflow in a future post.

I've outlined the steps below, but in case the details make your eyes glaze over, the key point is this: using LLMs, it took me only slightly longer to build out a bespoke CMS for my specific needs and publish my first blog post as it would have taken to use an off-the-shelf CMS. It is missing features that an off-the-shelf CMS would have (I'll build those out as I go) but it has features that an off-the-shelf CMS doesn't have that are unique and important to me.

Brainstorming the Content

I was watching my son arm-bar other 6 year olds at his jiu-jitsu practice. Usually not my most productive hour of the week. I asked ChatGPT to interview me about my first blog post. It asked some obvious questions (Who is this blog for?) and some interesting ones (What was the spark moment behind wanting to create a blog?). It then wrote a first draft based on my answers. The result missed the mark, it's not something that I would have written. I then repeated the process with Claude. Claude asked fewer and less interesting questions. But its first draft was on par with ChatGPT's, i.e. it also missed the mark. They both captured some of the ideas I wanted to get across though, so I saved them into my homemade Personal Assistant via the Web UI.

Putting It All Together

When I got home, I fired up Claude Code on my laptop. My Personal Assistant is already seamlessly integrated with Claude Code. I told it to: "Show me all my blog post notes from today. Assign a number to each paragraph". I then went through the content that ChatGPT and Claude had generated earlier, and told Claude Code which paragraphs had content I wanted to keep. I then gave it the first few sentences of the post, and told it to combine the rest into a single coherent post. I generated an image for the post using ChatGPT and saved it to a directory that Claude Code knows to check. I made some minor tweaks to the final content, then asked Claude Code to: "Format the headings and paragraphs using markup, add the image of human evolution and publish it". Done!

Creating a blog post with Claude Code

Self-Healing Software

Something amazing happened while I was going through this process. When my Personal Assistant MCP tried to pull my blog post notes from my Personal Assistant backend, it hit a bug: it couldn't handle that much text. It asked me if it could go ahead and fix the bug. I said yes. It took about 30 seconds to fix itself, automatically deployed the fix and 2 minutes later it continued working on the blog post. Something that would have previously ground my work to a halt is now just a very small speedbump. Amazing!

Footnote - According to Scribbr's AI detector:

  • 0% chance this post was created by AI
  • 0% chance the previous post was created by AI
  • 2% chance the previous post was human written and AI refined (wrong! it was partly human written, and partly AI written)