Problem

Cadmium's four products had each come from a separate acquisition, and the team had already built a design system to unify them, documented in Figma. But Figma wasn't where anyone actually worked — developers, product managers, and designers each had their own way of checking it.

Solution

I built a site to be the single source of truth — rendering the team's documentation and the real, shipped component library in one place, so what it shows is what's actually in production, not a description of it. It closes a loop, too: prototypes get tested against the system, real findings get logged, and those findings make the documentation itself stronger over time.

Result

The site is live and still growing rather than finished — by design. It's the one place developers, product managers, and designers check today, and it grows every release as real screens turn up gaps instead of guessed-at ones. The same documentation is now feeding an early AI-assisted tool meant to carry the system into each product's own codebase.

Cadmium Design System homepage — a grid of nine sections (Foundations, Design Tokens, Icons, Components, Patterns, Voice & Tone, Accessibility, Maintenance, Governance), each marked In Development

The system's homepage — nine sections, each still growing

Button component page showing a live, interactive demo of every variant and size, next to a "When to Use" table mapping scenarios like primary action, secondary action, and destructive command to example button labels

Every component page renders the real thing, live, next to the rules for using it

Components page with an intent-based filter ("I want to: Show all components") and two disambiguation callouts — Alert vs Toast, and Tooltip vs Popover vs Hover Card — above a list of components grouped under "Tell the user something"

Components organized by what you're trying to do, not alphabet

Create Workflow wizard prototype, step 2 of 5 — a completed Activity step with a green checkmark, the active Workflow Type & Name step highlighted, and form fields for workflow type, name, and an optional due date

A real screen built on the system, to find its gaps before they shipped

“We’re a few people who care about consistency across four products and don’t want to drown in process.” — from the system’s own governance guidelines

That’s the whole brief — not a mandate, not process for its own sake. Just enough structure to stop four once-separate products from drifting further apart.

Three people, three different answers

A developer building off the code, a designer checking Figma, and a PM going off what shipped last quarter could each be “right” at the same time and still land on three different answers. The design system existed; agreement on it didn’t.

Built off the real thing, not a description of it

I built the site to render two sources directly: the team’s written documentation and the actual component library running in production. What the site shows isn’t a mockup of a component, it’s the component — so there’s no gap between what’s documented and what ships.

Cadmium Design System homepage — a grid of nine sections (Foundations, Design Tokens, Icons, Components, Patterns, Voice & Tone, Accessibility, Maintenance, Governance), each marked In Development

Nine sections, one source document — each still growing

Every component, live and documented

Icons carry the exact name to drop into code. Component pages render the actual component running live, not a screenshot of it, next to the rules for when to use it and when not to. A developer, a PM, and a designer can all land on the same page and walk away with the same answer.

Patterns for the compositions, not just the parts

A table, a form, a validation message, a navigation bar — each is “just components” until five people build it five different ways. The Patterns section documents the compositions directly, so nobody’s reinventing how a table sorts or a form validates from scratch.

Button component page showing a live, interactive demo of every variant and size, next to a "When to Use" table mapping scenarios like primary action, secondary action, and destructive command to example button labels

The real component, live, next to the rules for using it

A loop, not a one-way document

The site isn’t just where the documentation lives — it’s part of how the documentation gets stronger. A prototype gets tested against the system, an observation gets logged, and once it shows up again across multiple screens, it gets promoted into an official rule — 37 logged so far, 9 that have earned their place. The more the site gets used, the more accurate the documentation underneath it gets, instead of going stale like a wiki nobody updates.

Learnings page listing dozens of logged observations — status tags Open, Stale, or Validated — each one titled, dated, authored, and tagged with how many prototypes have used it so far

Every observation dated, attributed, and tracked by how many real screens used it

Outcome

The site is live and used as the single source of truth today, wired to the real component library so what’s documented is what ships. A lightweight review process — any finding, from a person or an AI assistant, judged on whether it’s a real gap and how urgent it is — has already turned dozens of real-world observations into nine official rules, each one making the documentation stronger than when it started. The same documentation is now feeding an early AI-assisted tool meant to carry the system into each product’s own codebase.

What I’d do differently

The rule that documentation wins came after values had already drifted — a brand color hand-typed into a config file diverged from its source before anyone caught it. I’d set that rule on day one, not after tracking down where the drift came from.

Why this mattered

A design system nobody can check from the same place might as well not exist — everyone ends up working from their own memory of it. Building the site that makes it one living source of truth, one that gets stronger the more it’s used, is what turns the system into something a new designer, a new developer, or an AI assistant can actually trust.