Skip to content

SheetWriting · 10 pieces

OrderNewest first, by published date

GroundDeep header over a deeper list

TagsReceipts only

Writing · 10 pieces

Things I got wrong, mostly

Notes on design systems and accessibility. Written when something turned out differently than I expected, which is the only time writing it down is worth anyone's time.

10 pieces and most of them are me being wrong about something. That's not modesty, it's just where the interesting bit lives.

SheetThe pieces

Count10, read from the list

RowOne link, ordinal and meta on the left

GatedOrdinal holds 4.5 on the hover ground

Every one of them

Written when something turned out differently than expected.

  1. Sept 2026 · 8 minWarm on purpose, and why I stopped trying to fit every screen at onceThe umber and the orange are a choice, not a mood. I spent six years in print before I came back to code, and the site finally looks like both halves of that. The colour turned out to be the easy part. The hard one, the part I'm in the middle of now, is that a layout which bends to fit every screen fits none of them properly, so I'm building three.Design · Colour · Platforms
  2. Sept 2026 · 11 minThe tool scored my site 100%, and nobody owns a phone that wideI rebuilt Quoin's own site, ran the tool over it, and shipped it at a hundred per cent on the grid. That number was true at six viewport widths and nowhere else, and every phone anyone actually owns fell in the gap between them. The fix wasn't in the tool. It was four rules in the stylesheet, and they're rules any stylesheet can follow.Typography · CSS · Tooling
  3. Aug 2026 · 10 minEight typefaces gave me the same number, and I read it as consistencyI published a finding about vertical Japanese text, backed by measurements in three browsers. Every one of those measurements was taken against a font that had never loaded, and the checks I ran to confirm it shared the same blind spot. Here's how a control that can't fail agrees with you three times in a row.Typography · Tooling · Testing
  4. Aug 2026 · 12 minMy site came last in my own survey, so I went and fixed itI measured nine design systems for typographic coherence and finished bottom, three times worse than anything else in the table. Here's what the ninety was made of, and what it took to get it to ten.Typography · Design systems · CSS
  5. Aug 2026 · 9 minThe web can't do a baseline grid, and I got tired of pretending otherwiseEvery font hides asymmetric space above its capitals. The browser splits the leftover leading evenly, so it centres the box and not the letters. Print solved this with metal type. Here's why the web can't, and the start of the tool that now corrects it.Typography · Design systems · Tooling
  6. Aug 2026 · 17 minThree times I thought I'd put the page on the gridFinding every line of text that misses a baseline grid is arithmetic. Putting a whole page onto one is a constraint problem, and I got it wrong three times in a row, starting with a tool that couldn't see its own corrections.Typography · Tooling · CSS
  7. Aug 2026 · 8 minTwo big numbers, and why I only touched one of them2,430 TypeScript errors went to zero in an afternoon. 1,751 hardcoded utilities are still sitting there, and leaving them was the same decision as fixing the others, not the opposite one.Design systems · Refactoring · Judgement
  8. Aug 2026 · 7 minEvery build was green through all three configurationsTypeScript 7 broke the declaration build, so I reached for the obvious fallback. Then I measured it before adopting it, and found 257 resolution errors that no build, in any of the three configurations, had ever reported.TypeScript · Tooling · Design systems
  9. Aug 2026 · 8 minSeven defects a gate found that reading the code didn'tEvery one of these was in code I'd written, reviewed and shipped. None of them surfaced until something existed whose only job was to fail me.Accessibility · Testing · Design systems
  10. Aug 2026 · 9 minI claimed AAA, then built the gate that could fail meA design system I'd described as WCAG 2.2 AAA for months turned out to have an accessibility suite that never once loaded the 7:1 contrast rule. Here's what the gate found when I finally wrote it, and why the number that mattered wasn't the one I expected.Accessibility · Design systems · Testing