selected work
Test automation, design systems, and the developer tools in between.
pendula
Two test suites and the pipelines around them, for a real-time customer-engagement platform: a BDD regression suite and a canary/load suite I pioneered.
vault
An offline Mac app for the colours, fonts, palettes and type scales a project accumulates, tied together by project tags and driven from a command palette. SQLite on disk, a typed IPC boundary between main and renderer, and the colour maths as pure shared logic both processes reuse. Shipped as a direct-download DMG for Apple silicon and Intel.
drift
Point it at any URL and it reports the design system that site actually ships: every colour, type size, spacing step, radius and shadow, perceptually deduped with CIEDE2000 and attributed back to the pages using them, then measured against a reference you pick. Crawls run as queued jobs with progress over a websocket, and a finished audit can be POSTed to a callback so a CI job can assert on it.
kern
The shared component and token layer the lab tools are built on: one system instead of four, published from its own repo and consumed by every experiment.
haus
A token-first React design system: W3C DTCG tokens in OKLCH, twelve components, a live Storybook, and a colour package on npm that two other projects here depend on.
core
A team decision log: architecture decision records with a permission-gated lifecycle, two separate audit trails, and citations to the code they govern, so a decision can tell you when the thing it decided has changed underneath it.
loom
An MCP server and agent that catch a design system drifting, with Figma as the intent and shipped CSS as the reality, pausing for a human when the call is genuinely ambiguous.