Hello, world

Every blog deserves an honest opening post, so here is mine: this site exists because I wanted a place to write things down without feeding an algorithm, a CMS, or a database. The whole thing is a folder of markdown files that turns into static HTML whenever I run a build. That’s it. That’s the architecture.

The stack

Four ingredients, chosen for boredom as much as performance:

  • Astro 7 renders every page to plain HTML at build time. Content lives in typed collections, so a typo in a frontmatter field fails the build instead of silently shipping.
  • Markdown for everything I write. Posts are plain text files, which means they diff cleanly in git and will still open in forty years.
  • Bun drives the whole toolchain — installing dependencies and running builds. One tool, one lockfile.
  • Docker + nginx serve the finished dist/ folder. One container, one config file, deployed on a tiny VPS I already pay for.

Why so static?

Because reading is the product. There is no client-side JavaScript on this site — not for dark mode (that’s a CSS media query), not for navigation (that’s just links). The pages weigh less than most sites’ cookie banners.

The best request is the one that finishes before you notice it started.

Static HTML also ages well. Frameworks come and go; a 15 KB HTML file with a stylesheet attached will render correctly long after its build tools are museum pieces.

What comes next

Short field notes, mostly: things I learned while building this site, markdown tricks worth remembering, and the occasional rant about web bloat. If you want to follow along, the RSS feed is right there — no account required.