The footer says "built with plain HTML and a text editor." That's mostly true. Here's the rest of it.
nordicops.dev is hand-written HTML, CSS, and a few dozen lines of vanilla JavaScript. There's no static site generator, no templating engine, and no npm install. Every page is a real file you could open in a text editor and read top to bottom. For a site this size, that's not a limitation — it's the fastest workflow I've found, and it means the site will still build in ten years because there's nothing to build.
The tradeoff is obvious: updating something that appears on every page — the navigation, the footer — means touching every file. I accept that in exchange for never debugging a generator, a plugin, or a dependency update that broke a layout at 11pm.
Body text is set in Inter; anything that resembles code, metadata, or a heading uses JetBrains Mono. The color palette is deliberately narrow — a near-black background, one accent teal borrowed from the Nordic aurora rather than any specific brand, and amber reserved for warnings and highlights so it doesn't lose meaning from overuse.
Dark mode is the only mode. I write about dark mode done right in this post — this site is the implementation of that argument.
The site is served as static files behind a CDN, with the origin sitting on a small VM in the same homelab documented on the uses page. Deploys are a git push and an rsync script — no CI pipeline, because there's nothing to compile and the whole site is under a megabyte.
Realistically, the lack of templating will eventually get annoying enough that I write a five-line script to stitch header and footer includes together at deploy time. I've resisted so far because every time I think about it, I finish the actual blog post instead.
If you're viewing this on a spotty connection: good news, there's nothing to wait for. No web fonts blocking render longer than necessary, no client-side framework hydrating before the page becomes interactive.