[DESIGN SYSTEM]

Multi-Brand Design Tokens

A two-tier token system I built at Pillar4 Media and rolled out across 7+ consumer brands, using a Figma to Claude to Figma workflow to migrate five of them in one sprint.

Role

Product Designer. Owner, end to end

Year

2026

Platform

Figma, Tokens Studio, Claude

Services

Design Systems, AI Tooling, Documentation

Multi-Brand Design Tokens

Add a URL to embed a website.
Illustration of six brand kits with mismatched values mapping into one shared set of token names

The short version

Problem

Every brand kit had its own hex codes, spacing and radius. A global change meant editing each brand by hand.

What I did

Built a primitive and semantic token architecture, a workflow where Claude drafts each brand’s tokens from its existing kit, and the docs so anyone can extend it.

Outcome

Zero to 7+ brands on one architecture in four months, five of them in a single two-week sprint.

Four brand kits with different values for the same text color, card padding, radius and heading size

01 / The problem

Same job, different values in every brand.

Pillar4 runs 10+ consumer media brands, and each Figma kit carried its own hex codes, spacing and radius. A global change meant one hand edit per brand, plus a QA pass. Design and engineering argued in hex codes. Work on one brand taught the next one nothing.

Diagram: primitive tokens map to semantic tokens, which a product card component reads

02 / Two tiers

Raw values below, meaning above.

Primitives hold raw values: color, a 4px spacing scale, type sizes and radius. Semantics name the job, like color.text.primary or spacing.md. Components only read semantics. I applied tokens inside every component of a brand’s kit, not just the foundations, because that’s the step that makes a global change actually propagate.

Workflow: a brand’s Figma kit, Claude extracts and drafts tokens, I review, tokens go back into Figma

03 / The migration

Claude drafts it. I make the calls.

Migrating one brand by hand is a week you can justify. Seven is a quarter nobody funds. So I built a Figma to Claude to Figma workflow. Claude reads a brand’s existing kit, pulls every color, spacing and type value in use, and drafts the two-tier set against the shared naming. I review it, fix what it got wrong, and write it back to Figma. That’s how five brands landed in one two-week sprint.

Pipeline from Figma variables through Tokens Studio and JSON to CSS variables

04 / The pipeline

If it only lives in Figma, it’s decoration.

Tokens export through Tokens Studio to JSON, then to CSS variables. Before rolling anything out, I tested them on real, existing blocks to confirm they held up in Dev Mode. Then I wrote the handoff doc that made tokens the shared language between design and engineering.

Email template in a grid of desktop and mobile, light and dark modes

05 / Email

Make Figma match what actually sends.

One brand’s email kit was designed before anyone knew what the email platform could render, so Figma and the sent emails had drifted apart. I treated the platform as the source of truth and brought Figma into line: type rebuilt for desktop and mobile in light and dark, one approved button, a new spacing step to fill a gap, spacing reworked across five templates. I also added contrast-checked dark-mode palettes to seven email kits.

How-to guide inside Figma: five steps to add a brand to the token system

06 / Governance

A system that needs its author is a liability.

I wrote step-by-step docs so any designer on the team can add a brand or extend the system without me, and started how-to guides inside the Figma file so the docs live where the work lives. When a teammate designed a new component variant, I added it to the shared master file across five brands so the docs and the real system stay the same system.

Docs generated from UI kit tokens and production CSS, with a gap report: 224 gaps, 85 real bugs, 47 of 202 font sizes off the ramp

07 / Docs that can’t drift

Generate the docs, and they audit the site.

Every place we’d documented a system had gone stale, because every value was typed by hand. So I built a docs hub where every cell is computed: a generator builds the pages from the UI kit’s tokens and a scrape of the production CSS. That turned documentation into an audit. It surfaced 224 gaps between kit and site, 85 of them real bugs, like headings with no size set and 47 of 202 font sizes off the type ramp. Every color got a documented accessible pair. I scoped it to one brand first, built to take more.

Results

0→7+

Brands on one token architecture, in four months

5

Brands migrated in a single two-week sprint

2

Token tiers: primitive, then semantic

7

Email kits given contrast-checked dark-mode palettes

Next project

Tested Product Blocks

Illustration of three product cards in V1 next to the same cards in V2 with product tags added