About

This started on a ZX Spectrum sometime before 1992. That probably tells you more about me than anything else on this page.

About

This started on a ZX Spectrum sometime before 1992. That probably tells you more about me than anything else on this page.

About

This started on a ZX Spectrum sometime before 1992. That probably tells you more about me than anything else on this page.

I’ve spent the decades since building tools for people who make things – musicians, developers, game makers, designers. Different domains, same recurring question: what’s getting in the way, and can I remove it?

The career arc, for those who want it: early employee at Xamarin, where cross-platform meant genuinely hard problems worth solving. Then Microsoft, where I led the design team for Visual Studio for Mac – developer tools at scale, with all the constraints and politics that implies. I shipped a game on Steam somewhere in the middle of all that, which taught me more about scope and humility than any design role ever did. Currently Principal Design Engineer at Red Hat, working on Podman Desktop.

Nights and weekends: building Blit-Tech, a WebGPU retro game engine in TypeScript. No scene graphs, no framework philosophy, just sprites and the pleasure of working close to the metal. It's not a product. It's why I still like doing this.

I write here because twenty-odd years across these domains turns out to be something worth saying out loud. The overlap between game engine architecture and design systems, between accessible UI and API design, between constraints that frustrate and constraints that clarify – that's the territory.

Before the tools were digital, I was painting letters on gravestones at 15 and illustrating comic books shortly after.

If something I wrote was useful, that's enough.

I’ve spent the decades since building tools for people who make things – musicians, developers, game makers, designers. Different domains, same recurring question: what’s getting in the way, and can I remove it?

The career arc, for those who want it: early employee at Xamarin, where cross-platform meant genuinely hard problems worth solving. Then Microsoft, where I led the design team for Visual Studio for Mac – developer tools at scale, with all the constraints and politics that implies. I shipped a game on Steam somewhere in the middle of all that, which taught me more about scope and humility than any design role ever did. Currently Principal Design Engineer at Red Hat, working on Podman Desktop.

Nights and weekends: building Blit-Tech, a WebGPU retro game engine in TypeScript. No scene graphs, no framework philosophy, just sprites and the pleasure of working close to the metal. It's not a product. It's why I still like doing this.

I write here because twenty-odd years across these domains turns out to be something worth saying out loud. The overlap between game engine architecture and design systems, between accessible UI and API design, between constraints that frustrate and constraints that clarify – that's the territory.

Before the tools were digital, I was painting letters on gravestones at 15 and illustrating comic books shortly after.

If something I wrote was useful, that's enough.

I’ve spent the decades since building tools for people who make things – musicians, developers, game makers, designers. Different domains, same recurring question: what’s getting in the way, and can I remove it?

The career arc, for those who want it: early employee at Xamarin, where cross-platform meant genuinely hard problems worth solving. Then Microsoft, where I led the design team for Visual Studio for Mac – developer tools at scale, with all the constraints and politics that implies. I shipped a game on Steam somewhere in the middle of all that, which taught me more about scope and humility than any design role ever did. Currently Principal Design Engineer at Red Hat, working on Podman Desktop.

Nights and weekends: building Blit-Tech, a WebGPU retro game engine in TypeScript. No scene graphs, no framework philosophy, just sprites and the pleasure of working close to the metal. It's not a product. It's why I still like doing this.

I write here because twenty-odd years across these domains turns out to be something worth saying out loud. The overlap between game engine architecture and design systems, between accessible UI and API design, between constraints that frustrate and constraints that clarify – that's the territory.

Before the tools were digital, I was painting letters on gravestones at 15 and illustrating comic books shortly after.

If something I wrote was useful, that's enough.