Verso
You pulled the corner. This is the back of the sheet — where the plate numbers and the registration marks live, and where I keep the things the front of a portfolio is not supposed to admit.
What this page costs you
Under 100 KB for the whole home page, fonts included. Two production dependencies. No analytics, no tag manager, no cookie banner, because there is nothing to consent to — this site does not know you are here. The scroll animations are native CSS driven by the scroll position itself, so there is no animation library and no JavaScript running while you move.
The eleven gates
Nothing reaches the domain without passing all of these. Each one was verified by deliberately breaking it first — a check I have never watched fail is a check I only know prints the word PASS.
- contrast
- WCAG ratios computed from the real OKLCH tokens, all four palettes
- semantics
- 82 checks — landmarks, headings, names, roles
- glyphs
- every rendered character exists in the shipped subset
- sitemap
- every built page listed, every listing built
- dead-code
- no selector ships without a match
- structure
- section order read from the DOM, not the stylesheet
- render
- overflow and layout shift, every width, both schemes
- behaviour
- 47 checks in a real browser
- engines
- 27 checks across Chromium, WebKit, and Gecko
- lighthouse
- four categories, no category below 100
- live
- the deployed bytes, not the local ones
The number I did not hit
I wanted Largest Contentful Paint under 1,200 ms. It sits at roughly 1,500 ms and it is not going lower without shipping a worse page — the element is the hero type, and the remaining wins are all things like dropping the font subset or inlining more of the stylesheet, which trade a real quality for a number on a chart. So the gate is set at 2,500 ms, the target stays written down at 1,200, and the miss is on this page instead of buried. A budget you quietly move is not a budget.
Things that broke
Every one of these shipped, or nearly did. They are written up properly in the notes.
- When --write and --check disagree, the formatter is the bug
- The contrast gate was checking a color I don't ship
- Every gate was green and the animations were gone
Still down here
Triple-click the line under my name on the front page. Nothing will announce itself.