Case studies

Not just what I built, but why: the problem, the options I turned down, what each decision cost, and what review caught. Each one has live comparisons you can try.

  1. Run explorer

    Finding the one bad run in five thousand

    Designing a tool for inspecting AI agent runs: aligning steps with their timing, failure that survives colour blindness, and a list that keeps under 30 rows in the page for 5,000 runs.

  2. Returns assistant

    Designing for an agent you can’t fully predict

    Steps that appear live then fold away, a person approves the money, failure you can act on, and one screen-reader announcement per reply instead of 25.

  3. Design system

    Tokens as data, components with no surprises

    Semantic tokens enforced by a test, a theme that never flashes, and a loading button that keeps its name for screen readers.