Colophon
#meta#tooling
This site is a Next.js App Router project. Every article — this one included — is
an .mdx file in content/, read at build time and rendered on the server.
Publishing is writing a file and committing it.
The stack
| Layer | Choice |
|---|---|
| Framework | Next.js (App Router) + TypeScript |
| Styling | Tailwind CSS v4, tokens in globals.css |
| Content | MDX + frontmatter, read from the filesystem |
| Hosting | Vercel, auto-deploying from main |
Frontmatter
Every file carries the same shape. Missing fields fail the build rather than rendering a blank page:
type Frontmatter = {
title: string
date: string // ISO — "2026-08-28"
summary: string
tags?: string[]
draft?: boolean // keeps a file in the repo, out of listings
updated?: string // shown when newer than `date`
}Constraints worth naming
- One primary accent color, used only for links, tags, and small marks. One second, bounded colour — a warm copper tone — marks the subject noun in a pillar title, and appears nowhere else. Two colours total, not a palette.
- A reading measure of roughly 68 characters, enforced by a single utility.
- No component hard-codes a color or a font. Tokens or nothing.
- Sections are siblings in one collection, not separate apps.
The point of the constraints is that adding the fiftieth article should be exactly as cheap as adding the second.
A word on the pillar labels
"Engineering" is the word every pillar title shares; the word in front of it is the only thing that changes. Snowpiercer's Wilford styled himself L'Ingénieur Éternel to a train that worshipped him for it. I'd rather the pillars made the same point without anyone having to worship anything — hence the colour, not the title.