Token architecture
Three tiers in JSON as the single source, building to CSS custom properties, Swift and Kotlin. One pipeline, one source of truth, no hand-maintained copies.
- primitive/blue-600
- action/primary
- button/bg-rest
- button/bg-hover
Design SystemsMeridian Insurance
Six products, four front-end stacks, and eleven different buttons that all did the same thing.
01The problem
Meridian sells six insurance products, each built by a separate squad, three of them inherited through acquisition. There was no shared library, so every squad had built its own everything.
The audit counted eleven button components, nineteen greys, six date pickers and four separate implementations of the same address form. A brand refresh had been scoped at eighteen months, almost entirely because nobody could say with confidence where the old colours were used.
The previous attempt at a system had failed for a familiar reason: it was built as a Figma library, announced in a town hall, and never adopted, because nothing in anyone's roadmap made room for migrating to it.
02Goals
Agreed in the first fortnight, written down, and used to settle every argument afterwards.
A token called brand-blue-600 breaks at the next rebrand. A token called action-primary survives it.
The same token source has to produce web, iOS and Android outputs so the platforms cannot drift apart between releases.
The system is not delivered when the library ships. It is delivered when products are running on it.
Without a contribution process, squads will keep building in private, which is how eleven buttons happened the first time.
03UI approach
Four moves that did most of the work. Everything else on the project followed from them.
We inventoried every component and colour across the six products before designing anything. Eleven buttons and nineteen greys on one slide ended a debate that had been running for two years.
Primitive values, semantic aliases, component tokens. Squads only ever reference semantic and component tiers, which means a rebrand touches the primitive layer and nothing else.
We released in four batches ordered by how much duplication each removed. Buttons, inputs and the address form came first, so the first migration paid for itself immediately.
A contribution guide, a fortnightly review with a rotating seat from each squad, and a documented path for proposing, trialling and promoting a component.
04Components and design system
The reusable parts, and the tokens they were built from. This is the layer that keeps the interface consistent after we leave.
Three tiers in JSON as the single source, building to CSS custom properties, Swift and Kotlin. One pipeline, one source of truth, no hand-maintained copies.
Fourteen input types sharing one label, help, error and required specification. The four address form implementations collapsed into one composed from these.
Every component ships with anatomy, states, content rules, accessibility spec and do-and-do-not examples. Undocumented components are not released.
05Outcomes
Measured by the client, on their own reporting, over the period noted against each figure.
The slide with eleven buttons on it is still pinned in their design channel. It did more for adoption than the library did.
The audit slide did more for adoption than the library did. You cannot argue with eleven buttons.
06Gallery
Layout diagrams of the interface as delivered, with a note on what each one is doing.
Eleven buttons and nineteen greys, counted across six products and put on one page.
Interface layout diagram from the Meridian Insurance project.
Primitive, semantic and component tiers, with squads referencing only the upper two.
Interface layout diagram from the Meridian Insurance project.
Fourteen input types sharing one label, help, error and required specification.
Interface layout diagram from the Meridian Insurance project.
Anatomy, states, content rules and accessibility spec, required before any component ships.
Interface layout diagram from the Meridian Insurance project.
07Take it with you
Everything above, condensed to plain text. Copy it into a brief, or download it to circulate internally.
Plain text, ready to paste into a brief or a board pack. Saves as baseline-studio-meridian-design-system-summary.txt.
BASELINE STUDIO / CASE STUDY SUMMARY
================================================================
Client: Meridian Insurance
Project: One design system across six insurance products
Discipline: Design Systems
Engagement: Design system
Platforms: Web, iOS and Android
Duration: 16 weeks
Year: 2024
OVERVIEW
================================================================
Meridian Insurance ran six products across four front-end stacks with no shared library. An audit counted eleven button components, nineteen greys, six date pickers and four separate address form implementations. A brand refresh had been scoped at eighteen months.
We built a three-tier token architecture in JSON producing web, iOS and Android outputs, released components in four migration batches ordered by duplication removed, documented every component with anatomy, states, content rules and accessibility spec, and set up a fortnightly contribution review with a rotating seat per squad.
Delivered across 16 weeks: a full cross-product audit, a token pipeline with three platform outputs, 38 documented components including a fourteen-type form field set, a contribution guide, two adoption workshops and a migration plan with named owners.
Results: eleven buttons reduced to one, nineteen greys to six semantic values, the rebrand estimate cut from eighteen months to six weeks, and all six products migrated within nine months.
OUTCOMES
================================================================
11 → 1 Button components
One component with documented variants replacing eleven.
19 → 6 Greys in the palette
Each of the six now has a defined semantic purpose.
18mo → 6wk Rebrand estimate
A palette change is now a primitive token change.
6 / 6 Products on the system
All six migrated within nine months of the first batch.
CONTACT
================================================================
Baseline Studio
studio@baseline.design
+1 (415) 555 0142
Figures describe a specific product, team and period, and are
published to explain the work rather than to predict a result.05Start a project
Tell us where your product is getting stuck. We will tell you honestly whether this is the kind of problem we are good at, and what we think it would take.