This CMS has no backend (sort of)... It's AI
I've spent two decades building content management systems. WordPress installs, custom Drupal, headless CMS platforms, the lot. Every single one followed the same pattern: a database, an admin UI, an editor, authentication, role management, plugins, taxonomies, and a layer of cache to make the whole thing tolerable.
Then I built this site. And realised I'd done almost none of those things.
There's no database. There's no admin panel. There's no editor UI. To publish a post, I open a terminal, talk to my AI assistant, and a markdown file appears in a folder. The site picks it up on the next deploy. That's the whole CMS.
The closer I look at it, the less of a CMS it actually is. It's just a folder of markdown files in version control. The "backend" of this site, in the old sense of the word, is me and an AI agent.
What replaced the database?
The file system. Every post is a markdown file with frontmatter. Categories and tags live in their own little markdown files. The site loads everything at startup and serves it from memory. No queries. No migrations. No connection pools. The entire content store is small enough to hold in RAM and fast enough to feel instant.
What replaced the admin UI?
A conversation. I describe what I want, "post this draft, swap in a new image, fix that heading, link the company name to its website", and the AI writes the right files. Git records every change. The history of what was edited, when, and why is a single command away.
The bits that disappear
When you remove the database and the admin panel, a remarkable amount of complexity falls off with them.
There is nothing to log into and therefore nothing to compromise. There is no SQL injection surface because there is no SQL. There are no plugins because there is nothing to plug into. Backups are a git clone. Deploys are atomic because the content is the code. Versioning, roles, audit trails, all the things a traditional CMS spends thousands of lines of code on, are inherited from git for free.
The thing about the absence of features is that the absence is the feature.
The catch
This pattern does not democratise content. A non-technical author cannot log into a friendly editor and write a post. They either learn markdown and git, or they have an AI sitting between them and the file system. For a marketing team of twenty, it is the wrong shape. For a small consultancy, a personal blog, a charity with one volunteer running the website, a one-person business with an AI assistant, it is transformative.
The other trade-off: you have to trust the AI to make small, reversible edits. That is why the discipline matters. Small commits. Clear diffs. Review before deploy. Same as any pair-programming relationship that works.
Why this matters
Most of the CMSes I have built in my career exist because at some point in the 2000s the industry collectively decided that non-technical people should be able to write content without learning Markdown. That decision led to WordPress, and to a generation of platforms that were sprawling, fragile, expensive, and forever in need of a security update.
The interesting thing about AI is that it did not just make those CMSes more convenient. It made the assumption underneath them go away. If you can describe what you want in plain English to a thing that understands code, you no longer need an admin UI. You no longer need a plugin marketplace. You no longer need any of it.
What you need is a folder, a git repo, an AI that knows how to edit them, and a deployment pipeline that turns the content into a website.
That is what this site is. It is not magic. It is just what happens when you ask "do we still need all that?" and the honest answer is no.
This is what we mean when we say Data and AI Augmented Engineering. Not AI as a chatbot bolted onto a legacy system, but AI as a quiet, structural assumption. Less software. Less surface area. More leverage.
— Mícheál.