skip to content

Design system

Every visible rule has a name. This is the reference I use when I change the site.

Type

Literata is for the words.

Space Mono is for the useful labels.

Body copy stays comfortable at 17.5px with a generous line height. Strong text is quiet. Small text is still readable.

Color

Paper

Page surface.

Ink

Primary text.

Muted

Supporting text.

Line

Hairlines.

Fairway

The only brand accent.

Danger

Errors only.

Warn

Warnings.

Info

Information.

Code panel

Fixed dark panel.

Semantic elements

Lists

  • One thing at a time.
  • Write it down.
  • Move on.
  1. Read the docs.
  2. Try the small version.
  3. Keep the useful part.

Definition list

Watching
Formula 1 — forza Ferrari
Playing
Golf
Building
Small tools for my own use.

Scorecard table

Weekend scorecard
HolePlanPar
01Keep it small3
02Ship the useful bit4
OutTwo holes7

Quote, code, and rule

The best default is the one I stop thinking about.

Doug, probably
# one small command
pnpm build
echo "done"

Inline code, ⌘ K, and a semantic rule follow.


Open the small print

I prefer boring infrastructure and readable pages.

Core components

Card

A hairline gives the content a boundary.

Aside card

A dashed rule says this is supporting material.

Badge

MutedFairway Warning

Buttons

Forms

Choices

Spacing and motifs

Section header marker

DJ

Spacing grows from 4px to 54px. The paper stays flat.

Modes

Use the night/day control above to inspect the same page in light and dark.

Dark mode is data-theme="dark".