All work
Case
Design systems · 2025 to 2026
Role
Design System Collaborator
Team
Brad Frost Web Maker Program
Timeline
Oct 2025 to Jan 2026
Scope
Component Architecture, Token Alignment, Figma-Storybook Integration, MCP

Brad Frost's own system. Examples are recreated and simplified.

01 · The mismatch

Same button, two names.

I opened the Figma file and the code side by side. Figma said “Primary, Large”. Storybook said variant: action, size: lg.

Same component, different assumptions. A year of quiet drift had built up, and nobody noticed, because the system still looked right.

figma ⇄ storybook / button
Figma · Button
Type
Primary
Size
Large
Storybook · Button
variant
"action"
size
"lg"

2 of 2 properties named differently. Handoff has to guess.

Recreated and simplified from the real Button.

02 · Starting from code

Read the code before touching Figma.

Most design-system work starts in Figma. This one started in code, written by the person who coined Atomic Design.

So I renamed Figma to match the props, and before changing any colour I traced the whole token chain. Understand why it is built that way before you propose anything.

alignment / button
FigmaCodeNow
Typevariant Renamed
Size · Largesize · lg Renamed
Icon lefticonStart Matched
Primitiveblue-600
Semanticaction
Componentbutton-bg
Figma now uses the code's names. Values recreated.

03 · AI in the loop

Ask the codebase, not a guess.

With Claude and MCP I could ask structural questions and get answers grounded in the actual code. Hours of manual tracing became minutes.

The limits were useful too: judgement still needed a human. The tool sped up the investigation. It did not replace the thinking.

claude · mcp
  1. Which components use the action token?
  2. Button, Link and Tabs.3 files · checked against source ✓
  3. Is action the right token for the delete button?
  4. That is a design decision. Flagged for Elleta.
Recreated from the kind of questions I asked.

04 · Same discipline, here

On the site you're reading.

This portfolio runs the same way: one token layer, one component per job, and a gate that fails the build on drift.

The table reads its values live from this page. Switch the theme and watch them change.

Watch the session

this site / tokens (live)
TokenValue now
reading the stylesheet
Gate: 0 drift on the last build
Live values from this page's stylesheet.

What changed

Aligned, documented, maintainable.

Figma and Storybook match across the system. The token chain is written down, primitive to semantic to component. MCP became part of how I investigate a system.

What I learned: reading code for design intent is a design skill. Drift is the default; alignment is a habit.

Thanks for reading

Next case

All work
From Drift to FoundationComplex SaaS · 2024 to 26