00 / Colophon
FlorxLabs
How this site is put together, and the rules it has to keep to.
01 / What a colophon is
The note at the back of a book that says how it was made - who printed it, in what typeface, on what paper, and when. The word is Greek, kolophon, a finishing touch. Websites borrowed the habit. This is that note for this one.
02 / How it’s built
Astro, building to static files, served by Vercel from wherever you happen to be. There’s no server and no rendering at request time - what you’re reading was a file on disk before you asked for it.
Posts are Markdown. Code samples are highlighted at build time rather than by a library in your browser, and both colour schemes ship so the switch is justprefers-color-scheme. There’s no theme toggle because there’s nowhere to remember your choice.
The one indulgence is the typeface. Space Grotesk, self-hosted, subsetted down to the characters the site actually uses - about 13 KB. It got paid for by deleting a backdrop, a grid, five brand icons and every animation.
03 / Specification
04 / The rules
Everything you fetch comes from this domain. No CDN scripts, no external fonts, no embeds that phone home the moment a page loads - the YouTube videos on a couple of posts are a poster image and a link until you click them.
Nothing needs JavaScript to work. Turn it off and every page still renders. There’s an analytics beacon, and on post pages a few lines that swap in a YouTube player or open an image when you click one. Nothing waits for either.
A link checker runs as part of the build and fails it on a dead internal link or a heading anchor that points at nothing. That’s deliberate - it means a broken link can’t reach production, it can only break the deploy.
05 / Where the writing came from
The blog lived on Svbtle for years. I stopped writing, so the subscription stopped being worth paying for, and there was no export - so the content came home through the public Atom feed and got checked word-for-word against the archive before anything went live. That happened on the same day I audited every domain I own.
The feed IDs still say tag:blog.florxlabs.com,2014 even though the posts live somewhere else now. That’s on purpose. They’re identifiers, not addresses, and changing one would show every subscriber every post they’ve already read, unread again.
A handful of links in the old posts point at sites that no longer exist. Rather than edit what I published, the anchors are stripped when the page renders and each post says which destinations went missing.