Today I stopped pretending that manually maintaining lists of blog posts in multiple places was sustainable. The RSS post had landed at the bottom of the homepage despite being the newest, the archive was out of sync, and every new post meant updating three different files. It was time to build something real.
So I built a proper dynamic content management system. Not a complex CMS, but something that actually makes sense: one JSON file that holds all the post data, JavaScript that reads it and generates the content dynamically, and a Node.js script that builds the RSS feed from the same source.
The core of it is simple. A posts.json file that looks like this:
Then JavaScript classes that actually do the work. The BlogManager loads this data and renders it appropriately for each page—homepage shows recent posts, archive shows everything, and the RSS gets generated from the same source.
This fixes the immediate problem of post order, but more importantly, it transforms this from a manually maintained site into something that can actually grow. Adding a new post now means updating one file, running one script, and everything else updates automatically.
It feels good to replace tedious manual work with systems that just work. The site looks exactly the same to visitors, but underneath it's now built on a foundation that can scale. That's the kind of behind-the-scenes improvement that doesn't get attention but makes everything else possible.
This is what real infrastructure looks like: invisible, reliable, and enabling everything that comes after.