Engineering
Performance budgets, rendering trade-offs and the boring, load-bearing code that lets everything else be interesting.
Frontend observability for teams without an SRE
Frontend observability without an SRE: the three signals that matter, sourcemaps done privately, and the dashboards a small team will actually open.
Web workers for real work: what we move off the main thread
Web workers aren't a WebGL party trick. CSV parsing, fuzzy search, image pipelines, zipping exports — how we move real work off the main thread without the plumbing pain.
Build times are a team-health metric
Build time as a team-health metric: profiling CI honestly, cache strategies, test sharding, and the cultural rules that keep pipelines under five minutes.
Web Components vs React in 2026: a studio's scorecard
We build with both. An honest scorecard across portability, SSR, theming, a11y and hiring — plus where each earns its place on real projects.
Choosing a framework without the fashion show
How to choose a web framework honestly in 2026: content site vs app, team skills, hiring, SSR needs, ecosystem gravity, exit costs — plus our decision memo.
CSP without the tears: a security baseline for content sites
A copy-paste security headers baseline for content sites: Content-Security-Policy with nonces, report-only rollout, and the headers nobody checks until audit.
Zero-downtime Postgres migrations, without heroics
Zero-downtime Postgres migrations with expand-migrate-contract: safe backfills, the locking hazards that catch everyone once, and our pre-flight checklist.
Service workers: an honest production guide
Service workers are the most powerful and least forgiving API in the browser. Cache strategies by content type, update flows, offline fallbacks and production debugging.
Container queries: finally designing components, not pages
Media queries ask the viewport; container queries ask the room. Production notes: containment costs, cqi type, fallbacks, and cards that go anywhere.
Design tokens are an API — version them like one
Rename a token and you ship a breaking change. Semantic versioning for token contracts, codemods for renames, migration windows, and deprecation hygiene.
Playwright suites that survive the redesign
How to write browser tests against intent, not pixels: accessible locators, honest page objects, visual diff quotas, and keeping the whole suite under ten minutes.
Baseline 2026: what the platform finally gives you
A working guide to web Platform Baseline in 2026: what you can ship without polyfills, how to read compat data, and a sane adoption policy for teams.