Colophon

How this site is made, and why it looks the way it does.

01 The mark

The logo is an Archimedean spiral generated in code. The same path is used for the favicon, social cards, navigation mark, and page background. I chose it because I rarely think about a subject once and move on.

02 Type

Headlines use Fraunces, with its variable softness and wonk axes. Body copy uses Newsreader, while dates and labels use IBM Plex Mono.

03 Colour

The light palette uses warm paper tones, teal, muted gold, rust, and ink. Dark mode uses a separate palette rather than reversing the light one. Each section claims one accent as its own, and its title sets in that colour.

04 Palettes

The nav lets you repaint the whole site: eight palettes, from letterpress monochrome to loud print inks. This is a personality site, and people read me in different ways, so the site can be read in different colours too. Every guest palette keeps the same contrast discipline as the house one, in light and in dark. The earthy default is still how I pour it.

05 Motion

Motion is deliberately small: short distances, one easing curve, and no scroll hijacking. Rules and headings animate on entry, while gallery images reveal colour on hover. Nothing loops forever in the background. The site disables these effects when reduced motion is enabled.

06 Liveness

The photo wall deals itself a fresh order on every visit. A contact sheet that always hangs the same way stops being looked at, so the frames move; a second visit is never quite the first. The shelf and the drawings keep their order, because what I am reading now should stay where you can find it.

07 The wall

The wall of love is the one page that is not about output. People see more of me than the work, and I wanted that on record in other people's words rather than mine.

08 Build

Built with Next.js and MDX, and deployed on Vercel. Shared styling and animation live in a separate design-system package. iPhone Shortcuts publish field notes and gallery photos through an API that commits them to the repository.

This is the current version. It will change again.