From WordPress to an agentic blog
This site used to be a WordPress install on shared hosting. Login, plugin updates, the occasional white screen of death, a database I never wanted to back up, and a publish flow that asked me to log in somewhere before it let me save a thought. For ten years that was fine. Then it started to feel heavy relative to what the site actually does, which is hold text and the occasional picture.
I decided to move. Not to a different CMS, not to a static site generator, but to plain HTML files in a git repo. Each post is its own folder, each post is one index.html. There is no build step. There is no framework. There is no npm install between me and writing.
What changed the cost of doing this was that I now have an agent that can do the boring parts with me. The agent handles the file shuffling, the image generation, the layout decisions, and the commit-and-push loop. I write the words and decide what the thing should look like; the agent turns those decisions into files and ships them.
What this looks like in practice starts with the conversion itself. I dumped the old WordPress export to JSON, pointed the agent at it, and it produced one folder per post with clean HTML. Title, date, body, no WordPress shortcodes, no leftover theme scaffolding. The agent also wrote a minimal stylesheet because the old CSS did not deserve to be carried over.
Thumbnails were next. Some posts had no featured image at all, others had placeholder SVGs that I drew in a hurry a decade ago. The agent called an image generation API and produced a coherent set of editorial photographs for the missing ones, in a style that actually fits a personal blog.
The layout came after that. Card grid, then list rows, then full-width rows where the whole row is one clickable link. I described what I wanted in plain language, the agent wrote the CSS, and we iterated by looking at the result rather than guessing at code. The whole homepage redesign took a handful of commits.
Version control and deploy is simple. The site is now a git repo on GitHub. Pushing to master is the deploy. There is no CI, no staging, no environment variables. If the site breaks, the fix is a commit, and the previous version is one git checkout away.
A few things I learned along the way that I would tell anyone thinking about doing the same. You do not need a static site generator. Hugo, Eleventy, Astro, Jekyll. They are fine. They are also a dependency you will have to learn, update, and explain to yourself in six months. For a personal blog of fewer than fifty posts, plain HTML is faster to write than any of them.
One CSS file is enough. The site has one stylesheet, around 200 lines. It has variables, two responsive breakpoints, and no preprocessor. Tailwind and friends are a good answer to a different problem.
An agent in the loop changes what writing a post means. Before, posting was log in, click, paste, hope. Now it is write the markdown in a file, ask the agent to add a date, an excerpt, and an entry on the index page, and commit. The friction of starting is gone.
The image generation step is the one that surprised me. I expected to have to find or take photos for the missing thumbnails. Instead, the agent generated nine on-brand editorial images in under two minutes. They are not stock photos. They are not AI art. They are just pictures of phones and clocks and telescopes that look like someone took them on a desk. Good enough for a personal blog, and replaceable later if I want to.
The site you are reading right now is the result. It is faster than the old one, easier to maintain, and the agent that built it is the same one I now use to write the posts. That last part is the actual point. The tools I am using to build the blog are the same tools I am writing about. Software development in the age of AI is not a separate topic from the rest of life. It is just the part where you notice.