Writing
Notes from the work
What broke, what it cost to find, and what we changed so it could not happen the same way twice. Written while it is fresh, which is the only time the detail is still true.
31 documents · press / to search
4 min read
A dead animation looks exactly like one that has not started
CSS scroll-driven animations fail silently in four different ways, and every one of them renders a page that looks fine. Here is how we made them fail loudly instead.
CSSTestingFrontend
12 min read
teiqr: the complete guide to generating, styling, validating and scanning QR codes
A working guide to teiqr — optimal encoding, ten module shapes with measured scan rates, logo damage analysis that is per-block rather than per-cent, PDF at a real millimetre size, and a decoder that proves the code you styled can still be read.
teiqrOpen sourceTypeScriptTutorial
4 min read
Every number on this page can be checked
We removed three claims from this site because we could not stand behind them, and wrote tests for the rest. Here is what that discipline costs and why it is worth paying.
PracticeWriting
4 min read
Four CSS traps, and the one property family behind all of them
A mask that cancelled a 3D transform, a perspective on the wrong element, a header that ate its own menu, and a timeline measured against the wrong box. All four looked right in the state anyone would check first.
CSSFrontendDebugging
2 min read
teiqr — QR codes you can prove are scannable
A new package, published to npm. Spec-conformant encoding, styled rendering, and a verification step that tells you whether the code you styled still reads.
Open sourceTypeScript
9 min read
Architecting large-scale Next.js applications: Server Components, caching and state
How to structure a Next.js App Router codebase that stays fast as it grows — where the client boundary belongs, what Server Components actually cost, which caching layer answers which question, and the state patterns that survive a hundred routes.
Next.jsReactArchitectureFrontend
Start here
Tell us what you are building
Or what is breaking, or what has to go faster. You will get a straight answer from an engineer who would do the work.