Decisions
What changed, why, and the number that proved it. The case, in order.
From June to September 2026
Every decision below is in the history of the site, with its date. The numbers are the ones that justified it.
-
Jun 2026
Out of a site builder, into plain code
Static HTML, CSS and JavaScript, with no framework and no build step. It has to still open in ten years.
no build step -
Jul 2026
Contact in a side panel, all the work on one page
A panel that opens from every call to action, and a Work page with every project in one place.
-
Aug 2026
One navbar, one footer
They live in one place and reach every page at once.
-
Aug 2026
Glass that refracts
Real edge refraction in Chrome, frosted glass in Safari and Firefox, one material for everything that floats.
-
Aug 2026
One size for all big text
Every hero and statement shares one fluid size.
-
Aug 2026
The navbar measures what is behind it
Three samples, luminance, and a change only when it holds.
3 samples · 450ms to change -
Aug 2026
Fewer names
Three surfaces instead of five, two tints instead of three, and a blue that reads on dark.
5 → 3 surfaces · 3 → 2 tints -
Aug 2026
The muted grey stops failing
The token used for dates and labels across the site.
2.95 → 4.60 : 1 -
Aug 2026
Contact becomes a conversation
Question first, tested with people, and a way out to a classic form.
-
Aug 2026
The system opens
design.md, free to take, written to be handed to an AI assistant.
-
Aug 2026
Measured without a cookie banner
Consent Mode: cookieless in Europe, full data elsewhere, and one file instead of a snippet copied into 21 pages.
-
Sep 2026
Cases told as decisions
Six cases rebuilt from interviews: what was chosen, what was ruled out, why, and what it cost.
6 cases -
Sep 2026
Air that grows with the type
Space sized by width, like the type it surrounds.
-
Sep 2026
Two failures the audit couldn't see
It ignored transparency. Fixed, it found white at 75% on blue.
3.72 → 4.74 : 1 -
Sep 2026
Photos uncover
A mask for every photo, and two traps solved on the way.
-
Sep 2026
688 lines of dead CSS
Removed, with a fingerprint of 23 pages at two widths proving nothing on screen changed.
5,170 → 4,489 lines · 0 changes -
Sep 2026
Three radii, one accent, one shadow
Every corner, colour and shadow the site uses, and nothing it doesn't.
13 → 3 radii · 4 → 1 accents · 3 → 1 shadows -
Sep 2026
The type scale in tokens
The scale the system documented, finally the one the stylesheet uses.
38 → 6 steps and named exceptions -
Sep 2026
This system becomes a case
Documentation that explains why and how, and what each decision cost.