This site is a handful of pages of text and photographs that change when I decide to change them. There is no database in that.
The argument
A traditional CMS solves a problem I do not have. It gives you a login screen, a rendering pipeline that runs on every request, and a plugin surface that needs patching, so that anyone can publish from a browser.
I am the only person publishing here, and I am comfortable in a text editor. So none of that buys me anything, and all of it needs maintaining.
What the build does
Content lives as Markdown, one folder per section. At build time every file becomes an HTML page:
npm run build
The result is a dist/ directory of plain files. No server process, no runtime,
nothing to patch on a schedule. Cloudflare serves them for free.
Trade-offs
- Publishing is a separate step. I edit locally and can preview the whole site as I go, then push when I want it live.
- Anything genuinely dynamic needs a different answer. Comments, search across a large archive, or per-visitor content would each need their own approach.
- The failure mode is simple. A static file either serves or it does not.