Colophon

How this is made.

A case is a file and a folder of stills. Next.js, Tailwind, MDX in git. Headlines are Newsreader, body is IBM Plex Sans, labels are IBM Plex Mono. Notes can also publish from Ghost and land on /writing. Drafts still arrive as pull requests from /api/content. The CV at /cv.pdf is generated from the same catalog. Hosted on Vercel. Navigation uses the View Transitions API. On a case or a note, [ is older and ] is newer. A mint hairline tracks how far you have read. Lists, archive scroll, the mobile menu, diagrams, selected-work hover, and tile loops use GSAP. Nav morphicons follow the same prefers-reduced-motion preference.