Skip to content

Selected work

Six projects told the way they were built: the problem, the decisions with their rationale and the solution, and, where it could be measured, the outcome.

How I work

I work at the seam between design and engineering, so the same decision holds from the first sketch to the shipped screen. These are the principles the projects here stand on.

  1. Definition before pixels

    Before I draw a screen, I settle the problem, the user journeys and the contracts between frontend and backend, so the shape of the product holds before anyone commits to it.

  2. A system, not a set of screens

    I build the design system from scratch (palette, components, icons) rather than lean on a template, because consistency and a recognisable identity are what make an interface feel like one product.

  3. Desktop and mobile together

    I design desktop and mobile as one flow, not one after the other, so the experience holds up wherever it's actually used instead of being retrofitted to the smaller screen.

  4. Consistency kept honest automatically

    Where I can, I let the build enforce the contract (generated clients and quality gates), so drift between design, frontend and API breaks a check, not a user's screen.

  5. Explainable over magic

    I favour a result someone can question over one they can only look at: a score, a ranking or a rule should be something I can explain, not a black box.

  6. Honest about scope

    I name the boundary of what a piece of work does and doesn't do, and I don't claim an outcome I didn't measure. A stated limit is more useful than an inflated one left hidden.