2 faces

Type

Outfit for everything you read, IBM Plex Mono for everything the site measures. Settled by looking at three candidates side by side rather than arguing about them, and kept here as the specimen to check a size or a label against before it ships.

The decision

Outfit is the pairing disko.media uses, verified against the live site rather than guessed — it sets Outfit from the wordmark to the buttons, over IBM Plex Mono micro-labels. Outfit is variable, so one file covers every weight; IBM Plex Sans wanted six files and 249.5 KB to do the same job.

Display + text
Outfit
Micro-labels + code
IBM Plex Mono
Sans weight
31.5 KB · 1 file
Label tracking
0.2em
Settled
2026-09-19
Rejected
Sora · IBM Plex Sans

Full specimen

Eyebrow, hero, heading, prose, micro-label, inline code and numerals — the six things this site actually sets.

Lab note · 19 Sep 2026

Rey’s Lab

The adapter is the lock-in

Astro builds two ways. Static output emits plain HTML, CSS and JavaScript that any host on earth can serve. Server output needs an adapter, and an adapter is a build-time plugin that compiles the site into one vendor's runtime format. That puts the vendor inside the application package, underneath everything, where no amount of deployment wrapping can reach it. So: static output, no adapter, and the dist directory is the contract.

Status · Shipped0123456789 · 3.4 KB · 99.8%pnpm exec turbo run deploy

Micro-label tracking

The one spec that took a second pass. disko.media measures 0.22em at 11px; 0.2em tested better against this content and is what ships. The difference is small and entirely perceptual, which is why it belongs here rather than in an argument.

0.14emExperiment 02 · Shippedoriginal — too tight, letters clot
0.2emExperiment 02 · Shippedshipped
0.22emExperiment 02 · Shippeddisko.media
0.28emExperiment 02 · Shippedtoo loose — reads as spaced-out, not labelled

Scale ramp

The steps themselves, in Outfit. Check a new heading against this before inventing a size for it.

text-6xl / 60pxHero
text-4xl / 36pxPage heading
text-2xl / 24pxSection heading
text-lg / 18pxCard title
text-base / 16pxBody copy, the default reading size
text-sm / 14pxSecondary and metadata