Engineering
Performance budgets, rendering trade-offs and the boring, load-bearing code that lets everything else be interesting.
Supply-chain security for JS teams (without the panic)
A calm, runnable supply-chain security practice for JS teams: lockfile hygiene, dependency cadence, audit triage and provenance — no fear-mongering.
Bundle budgets: the 170kb rule and how we hold it
Our rule: 170kb of compressed JavaScript per route, or the PR explains itself. How the budget works and where we spend bytes on purpose.
Realtime collaboration tech: CRDT, OT, or a polite refresh
Choosing a collaboration stack honestly: OT versus CRDTs, Yjs in production, presence as a feature, and when a polite refresh beats a sync engine.
Transactional email is a product surface: engineer it like one
SPF, DKIM and DMARC without tears, email HTML that survives Outlook, suppression lists, and why templates belong in CI — email as a product surface.
Accessibility is an engineering discipline, not a ticket queue
Treating accessibility as infrastructure: axe in CI, linting, component contracts, keyboard hierarchies, and who on the squad owns what. WCAG AA as a floor.
Testing design tokens in CI like the API they are
Design tokens are an API contract between design and engineering. The CI pipeline that enforces it: grammar linting, ancestry checks, contrast tests.
A preview environment for every pull request
Per-PR preview environments cost less than the meetings they replace. How we build them: seed data, infrastructure on a budget, and demos as the default.
Design tokens are an API: building a pipeline from Figma to production
How we build a design-token pipeline from Figma to CSS, Tailwind and native — one source of truth, versioned releases, and semver for visual decisions.
End-to-end type safety from CMS to component
How we generate TypeScript types from headless CMS schemas, validate content at the boundary, and write content models that never cause the 6pm rename incident.
CMS migrations: the script is the deliverable
Why the migration script — not the new CMS — is the real deliverable: idempotent exports, content checksums, redirect mapping and parallel-running.
Font loading: recipes from the network tab
Webfonts are where performance budgets go to die quietly. Subsetting in CI, unicode-range slicing, per-role font-display policies, and the CLS nobody plans for.
The headless CMS migration runbook
A field-tested runbook for migrating to a headless CMS: content inventory, model mapping, redirect strategy, preview parity, and the cutover weekend checklist.