Eleven years between design and engineering.
I’m a product designer based in London. I spent eleven years at Expedia Group on design systems, tooling and process, which is where the systems mindset comes from: whatever I’m making, I’m thinking about how it holds together and how it scales.
Right now I’m open to Staff or Principal roles, in London or remote.

How I work
The details are not the details.
Charles Eames
They make the design.
I work in the gap between design and engineering.
I tinker with code and weigh in on architecture. I know the technical side well enough to design products for how they will be built, so what ships is functional and performant rather than just looking right.
I go and find the work.
I ran the services domain inside Expedia Group Design System (EGDS). I found the problems worth solving, wrote the pitches, made the case to senior stakeholders, then designed the work and stayed with the developers until it shipped.
When the process is the problem, I build the tool.
Some of the hardest problems in a design system are about how people work with it rather than how it looks. At Expedia Group I built two Figma plugins, Discover and Auditor, to fix the two I kept seeing: finding the right component, and catching drift before handoff.
I teach as I go.
At Expedia Group I ran workshops for the design system teams and for the product designers, developers and PMs using the system. I have taught non-designers to wireframe, and mentored designers into owning parts of the system themselves.
How I got here
I started out in the early days of the internet, working out of an office in my parents' dining room, when most of us were making it up as we went along. The first website I built there was prodirectsoccer.com, an e-commerce site for a mail-order football retailer, which has gone on to do pretty well. After that, about a year in print designing magazine adverts, then a couple of years at an agency in Devon working with local clients, and eighteen months travelling around Asia and Australia. The timeline below starts when I got back.
After my travels I joined an agency and ended up relaunching Pro:Direct, the site I had built years earlier. Then a few years in Dublin, designing sites and cutting them up into HTML and CSS. Back in Devon I started an e-commerce business from scratch, a one-stop shop for people going backpacking: country guides, packing lists, and the gear itself, shipped from our own warehouse. Then a few years co-owning a design agency. It has been UX roles since 2013. Since 2020 I have specialised in design systems.
Lead Designer, Design Systems
Lead Product Designer, Hotels.com
Senior UX Designer, Hotels.com
UX Consultant
Senior UX Designer
Senior UX Designer
Owner & Creative Director
Co-founder
Web Designer
Web Designer
My current stack
The tools I use day to day, and what I use each one for.
Have a look at the projects I’m building with AI
- FigmaDesign tool. Variables, components, variant sets.
- Figma MCPMCP server. Lets an agent read and write my Figma files.
- Claude CoworkAI agent for my desktop. Research, synthesis and drafting.
- Claude CodeAI coding agent. Most of this site was built with it.
- Claude APIModel API. Vision prompts for photo ID on a side project.
- Wispr FlowDictation app. I talk faster than I type.
- VS CodeCode editor.
- AstroWeb framework for static sites. This site runs on it.
- Next.jsReact framework. What I use for product work.
- ReactUI library. I read it and design to it rather than write it.
- TailwindCSS framework. Design tokens in code.
- GSAPAnimation framework. The motion on this site.
- StorybookComponent explorer. Inspecting states, props and code snippets.
- ChromaticVisual testing. Publishes Storybook on every push.
- MDXMarkdown that renders live components. Used for docs.
- NotionDocs and notes. Content syncs out via the API.
- GitHubVersion control. Triggers the deploy.
- RenderCloud hosting. Builds and serves this site.
- CloudflareDomains, DNS and CDN.
- LinearIssue tracker. Agents pick up tickets and do the work.
Certifications and courses
Recent study, mostly on AI: how these systems work, how to build with them, and where they actually help a design team.
Joe: paste the real certificates in here from linkedin.com/in/uxjoe (Licenses & certifications) and I’ll drop them into the CERTS array at the top of this file. Then delete the ab-stub class from this section, and the.ab-stub rules from the style block. This whole section is hidden from the built site until then.