A Home for All Our Stuff

The design-system hub at Google — one governed home for design knowledge, before the industry had a product for it.

Design systems fail quietly: not when the components are wrong, but when nobody can find what's true anymore.

Context

Google's ads and analytics organization: 50+ teams, 700+ UX practitioners. I ran a 1,600-page audit of its patterns and found 19 separate spec sites carrying 10+ different buttons, 3+ chips, 7+ callouts, and 5+ text fields — most of them unintentional. Information architecture changed team to team. Specs went stale the day they shipped. The org didn't lack components; it lacked a single place where design knowledge lived, stayed current, and could be trusted.

My role

In late 2017 I proposed and prototyped the spec-site concept that grew into Carbon, Google's design-system management platform — and designed the features that shipped: roles and permissions, project settings, onboarding, and usage analytics. Underneath it sat Blox, the atomic design system I co-invented, where components lived as structured data in Sketch — the only design tool at the time whose file format was honest JSON, which meant design could be data. My other contribution was the documentation discipline itself: every feature shipped with a CUJ, a system diagram, error states, redlines, and accessibility greenlines.

One Source, Many Sites

Inheritance in a design-system hub

Source of truth

Button / Primary

accent
indigo-500
radius
8px

Use one primary action per view.

Accent
Radius
Spec revision
Analytics team

Inherited

Ads team

Inherited

Platform team

Inherited

Local note: on dense tables, pair with a text button rather than a second primary.

Three team sites, all inheriting one component.

The teams never copied anything. That's the point — inheritance means there's nothing to keep in sync.

Approach

Carbon was a hub of hubs — at alpha it hosted fourteen design systems, each a home for its own org. The mechanism that made it work was inheritance: a team's spec site consumed templates from its parent system, so Google Analytics' UX teams all drew from one canonical source while other organizations ran their own. A child site could shape its own content — one group could document a dropdown for their context, another for theirs — but the component underneath stayed canonical. Editing was inline, click-to-edit under roles and permissions, with drafts, a publish gate, and full version history. Commenting was built in with mentions and notifications, and it quietly became something else: an intake channel, where a designer's note on a component page turned into the system team's queue.

Each component page carried the whole truth in tabs — specs, states, motion, accessibility, and an API tab with a live playground where you could change a component's values and watch it respond, backed by code snippets from a sister React Native library so engineers pulled working code instead of screenshots. Around the hub sat a constellation of connected tools: a cloud component repository, WordFlow for managing strings against an archive of already-approved language, a searchable research hub spanning studies across the org, and a measure tool that generated specs from any design you gave it.

Platform home: a gallery of available design systems above a hero explaining one canonical source teams inherit from. A component page in edit mode beside the version history panel, with a published version highlighted. The add-collaborators dialog showing per-person roles: view, admin, and editor. Annotated specification sheet for the version history panel: every row state and every sort grouping.
Sanitized recreations of the platform's interface, rebuilt for this case study — branding, names, addresses, and system content replaced with neutral stand-ins.

The hard call

A platform, not a mandate. The safe institutional move was top-down: one blessed site, mandatory adoption, compliance by decree. I'd watched that fail — mandates produce workarounds, and workarounds had produced the 10 buttons. So the line was drawn differently: strict where truth lives, free where teams live. Canonical components could not fork; everything around them — templates, local usage notes, team content — belonged to the teams. Adoption had to come by pull. It did: teams requested access faster than the platform could onboard them.

Outcome

Carbon reached alpha in December 2018. Eighteen partner teams had come on board, and 28 UX teams were already developing their specs in it before launch. Analytics — built on the platform's own tracking integration — showed 3,000 users, 11,000 sessions and 95,000 page views a month, with an average session of 8.33 minutes. That last number is the one I watched: nobody spends eight minutes in a reference. They were working in it.

Seven years later, I'm building the same conviction again for the AI era. Component Studio, in the Independent Lab, makes the canonical record machine-readable — so the "plugins" this time are agents, and the source of truth is something both people and AI can consume without either owning it.

→ Component Studio in the Independent Lab

→ Tokenized Design System — the decade-long thread