Front of the page

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.

Still down here

Triple-click the line under my name on the front page. Nothing will announce itself.

verso