Good designneeds goodbones.
I'm a product designer who builds what I design, so nothing gets lost between the idea and the thing that ships. From a design system at Apple to my own company end to end, I turn messy problems into systems a team can count on.

Selected work
Design systems, product design and full builds, for Apple, a self-driving company, a UK booking platform and my own business.
AppleDesign systems · Internal tools · Drupal3as the sole designer
Spabreaks.comUX audit · User research · Conversion design3back-to-back audits
Applied IntuitionDesign systems · Semantic tokens · Multi-brand4one project, several extensions
Unmarked ApparelJersey design · Product design · Full-stack build30teams printed this past year
Junxion AppCase study to come
BONESDesign tokens · Documentation · Build tooling56components, documented live
- Clients
- 10
- Roles held
- 4
- Company founded
- 1
- BONES components
- 56
Designer first,builder closebehind.
I've played a lot of positions over the years: art director, UX/UI lead, design-systems contributor, founder. The through line is always structure. I'm at my best when I can take a messy problem and turn it into a system that other people, and now AI, can keep building on without me in the room.

- 01 · ThenArt director
- 02UX/UI lead
- 03Design systems
- 04 · NowFounder
One token file.Every page.
Every colour, type step, and grid measure on this site comes from one token file. A build step compiles that file into the CSS you’re reading, and the design-system page renders the same tokens as its own documentation, so the docs can’t drift from the site.
tokens.ts
c('pop',
'The hue, once a page.',
'lime.300')build-tokens
$ npm run build:tokens ✓ 36 colours × 4 ✓ contrast AA, every palette
tokens.css
--color-pop: #d0fe91; --color-surface: #ffffff;
This page
Let’s buildsomething withgood bones.
- Based in
- Role
- Case studies