A design system is a monorepo, not a Figma file

Notes from rebuilding a marketing site where every tile had been redrawn from scratch four times. The fix was less Figma, not more.

A B2B brand we work with had a Figma file with twelve hundred frames and four versions of every button. The frames were a memorial to past redesigns. The code did not match any of them.

We treated the rebuild as a code problem first. The components we shipped were the source of truth. The Figma library was generated from the code, not the other way around. The brand’s design lead reviewed the code-rendered components in a Storybook, signed off, and we moved on.

The Figma file shrank to about a hundred frames. New layouts started in code, on a feature branch, behind a deploy preview. The marketing team learned to comment on the deploy preview rather than redraw the screen in Figma.

The lesson was unsurprising in retrospect: a design system is a contract. Where the contract lives matters less than that there is exactly one of them.