Colophon

How this site is built.

No CMS, no tracking that follows you home, no framework holding a gun to the HTML. A look under the hood — the stack, the rules, and the few stubborn opinions keeping it together.

Static by conviction.

The whole site is Astro, built to plain static HTML and served from Cloudflare's edge. Every page is real, crawlable markup that works with JavaScript switched off — the animation, the map, the music all layer on top, never underneath. Two small serverless Functions do the only server-side work on the site: the "ask the map" guide and the live Spotify demo's fetcher. That's it. Nothing else needs a server, so nothing else can fall over.

A strict front door.

There's a locked-down Content-Security-Policy with Trusted Types: the browser refuses to run any script the site didn't ship, and the usual tricks for turning text into live HTML simply throw. It's the unglamorous security layer I keep going on about, pointed at my own work first — every interactive piece is built out of real DOM nodes rather than strings, because the policy gives me no other choice. I consider that a feature.

Fonts that hold still.

Newsreader for reading, IBM Plex Mono for the small print — both self-hosted through Astro's Fonts API, which generates metric-matched fallback fonts so the page doesn't lurch as the real ones load. No third-party font CDN, no layout shift, no flash of the wrong thing.

A world on top of the pages.

Each route is graded like one film across scenes — its own "district" with its own light. There's a small constellation map of the site, a Spotify preview radio that paints the page with a track's colours, and an "ask the map" guide that only ever points you at pages that actually exist. All of it is progressive: turn motion off, or JavaScript off, and you get the calm, fast, fully readable version — intact, not broken.

Git is the CMS.

The words live in Markdown, in version control. Publishing is a commit; there's no admin panel to log into, nothing to keep patched, and every change carries its own history. For a site that's partly about trusting what software produces, an editable database in the middle felt like the wrong kind of magic. A diff is the honest version.

Measured, never rounded up.

The numbers you see — stars, reputation, answers — are fetched at build time and shown as-is. The performance budget is just as plain: fast everywhere, layout that doesn't jump, and a page that still behaves on a phone with a weak signal. If something here is slow or shifts, that's a bug, not a trade-off I made on purpose.

boiler room — ali@aliakhtari.com