Why the write-ups behind these case studies live as MDX files next to the code, not in a database.
The portfolio's case studies are deliberately short — a role, a problem, an architecture paragraph. Some of that work deserved more room than a card could give it, which is the whole reason this articles section exists as its own project.
A CMS or database-backed articles section is more moving parts than four write-ups justify: an admin UI, a content API, another service to keep online. All of that overhead just to publish long-form text that changes rarely and never needs to be edited by anyone but me.
Posts are .mdx files with YAML frontmatter, checked into the repo next to the code they describe. Vite compiles them at build time via @mdx-js/rollup, so there's no runtime content fetch and no server to keep patched. The app deploys standalone and is served under /articles through the same gateway that fronts the portfolio — two independently deployable apps sharing one domain.
Content-as-code isn't a novel idea, but it's the right amount of infrastructure for an articles section with a readership of one author and a handful of readers. The lower the cost of publishing a post, the more likely it actually gets written.
Comments