work

Gumroad Design System

Gumroad, Antiwork · 2024

In 2024, Jason (Designer), Maya (Engineer), and I finally did something we'd been putting off for a while: we sat down and went through every single component in our design system and published it to the Figma Community.

The problem

Everything existed in both Figma and Storybook, but they'd quietly drifted apart. Names were different, things looked slightly off on each side, and it had gotten to a point where developers weren't sure what to follow. We also wanted to make the system public to attract talent, get more people engaging with what we were building, and eventually open source Gumroad entirely.

Approach

So we just went through it all. Buttons, pills, alerts, modals...one by one. Figma on one side, Storybook on the other. What's different, what's wrong, what's the right call. A lot of it came down to naming. Some words only made sense to designers, some only to developers. We picked names that worked for both and stuck to them.

We rebuilt the components using Figma's newer properties and variables and also made sure everything was clearly documented, so both sides could stay in sync without guesswork. We opened PRs to close the visual gaps in Storybook, so what designers were handing off was exactly what developers were building.
Design system canvas in Notion
Design system canvas in Notion

Outcome

We shipped in August 2024 and published it to the Figma Community. It got a lot of attention. But what I was most proud of was simpler, the product looked better. More consistent, more considered. The kind of thing most people won't notice, but designers always do.