— A potted history of this rambling Lancastrian
About Me
I'm a principal-level design systems engineer obsessing over the systems, structures, and system-level design craft that determine whether a product organisation can move fast without quietly making everything worse.
I've been in and around front-end development for the best part of twenty years. I care deeply about craft - semantic HTML, modern CSS, accessible interfaces - but I'm just as interested in the architecture around the work: how token decisions made early ripple through everything later, where design-to-code pipelines quietly introduce friction, and why most component libraries solve the wrong problem.
If you're wondering what "design systems engineer" actually means in practice, I'll come back to that.
What I actually do
At my core, I build systems, and then I build the things that live inside them. The unglamorous bit that nobody talks about in job ads, and the bit that determines whether everything else works.
That usually looks like some combination of:
- Design system architecture
- Token strategy & naming conventions
- Design-to-code pipeline
- Component libraries
- Production-ready HTML & modern CSS
- Accessibility
- JavaScript & React
- Prototyping & discovery
- Web standards
- Mentoring & workshops
- Community building
- Public speaking
- DevOps & delivery metrics
Alongside the hands-on work, I spend a lot of time on the stuff that determines whether any of it lasts: architectural decisions at the foundation level, championing accessibility as a baseline quality requirement rather than an afterthought, and driving adoption across teams through influence, education, and trust rather than formal authority.
I'm also increasingly focused on translating complex architectural decisions into language that actually lands - with engineers, with designers, with product stakeholders. A design system nobody understands is a design system nobody uses.
In short: I like building systems that make other people's work easier. And I like leaving things better than I found them.
What I don't do
- Back-end development: not my bag
- Heavy OOP-style JavaScript: that's a different job
- Fixing printers, Wi-Fi, or "quick IT things"
Life's too short.
A bit of history (the short version)
I spent nearly eight years at an agency working my way up to Senior Front-End Developer: the kind of environment where you learn fast because there's no one else to fix it.
From there: UI Engineer at Zuto, then four years at Auto Trader as a Principal UX/UI Developer, focused heavily on accessibility, inclusive design, and front-end quality at scale. That's where the accessibility conviction really took hold, because it stopped being theoretical and became about real people hitting real walls.
Next came Co-op, where I was Lead Front-End Design Engineer on the design system: building shared components, shaping contribution models, and learning how much harder adoption is than implementation.
At cinch I took on a broader Engineering Practice Lead role: improving standards, rebuilding communities, clarifying expectations, and co-creating the engineering progression framework. Less building, more convincing. Turns out, that's a skill too.
Since then I've continued working as a Principal Design Systems Engineer, staying hands-on while pushing further into the architectural and strategic side of design systems. The DORA and SPACE interest crept in along the way, mostly because I got tired of teams measuring the wrong things and calling it progress.
So: Design Systems Engineer. What does that actually mean?
It's still not a title with a universally agreed definition, which is either a feature or a bug depending on your tolerance for ambiguity. The short version: it's someone who treats a design system as a product with real architectural concerns - not just a component library with a Storybook attached.
For me, that means caring about the decisions that happen before any components get built: how tokens are structured and named, what abstraction layers exist (and why), how the system will need to evolve as the product scales, and whether the people meant to use it actually will. It means being comfortable enough in both design and engineering to bring implementation-aware design thinking into conversations on both sides - without losing anything in translation.
It also means thinking about the design system not just as a resource for the people using it today, but as structured context that tooling, pipelines, and increasingly AI-assisted workflows need to consume reliably. The naming conventions, the architecture, the documentation - those aren't just human concerns anymore.
I don't do visual design. But I shape how things behave, scale, and hold together over time, and I'm deeply sceptical of systems that look great in a handoff and quietly fall apart in production.
It's a specific kind of role. I've been growing into it for years, and I think I'm finally honest enough to admit that's what it is.
Outside of work
On the hills
Wainwright bagger in progress. 13 down, 201 to go. Slow, deliberate, and entirely worth it. The Lakes are my reset button, camera always comes too, complaints about the weather optional. See the list →
Coffee, obviously
AeroPress, Porlex grinder, beans from ManCoCo, Atkinsons, or Carvetti. It's a whole thing. People have stopped asking why I can't just use the office machine.
Liverpool FC & Buffalo Bills
One long-suffering supporter, two historically painful clubs. The Bills needed some explaining - wanted east coast, a fanbase that genuinely suffers, and a city worth visiting. Buffalo ticked all three. Somehow this feels right.
Photography
Digital, Fuji X-T1. The camera's been with me for years and it's going nowhere - partly because I love it, partly because I can't justify replacing something that still does exactly what I need.
On the water
Researching paddleboards. The Lakes aren't going to paddle themselves.
Gaming
Currently restarting Breath of the Wild for the third time. This time I'll finish it. Probably.
When time allows
Occasional baker, reluctant DIY-er. Would rather be on a hill.