Elanco Knowledge Systems · Child 02 of 3 Child 02 / Elanco Design System · v1 → v1.4 · 2022–2023

Tokens, components, governance — the substrate everything else rendered into.

EDS turned an Elanco brand system into a product design system. Tokens-first, Tailwind-aligned utilities, breakpoint-aware components, governed by a shared decision log. Shipped as the substrate for EKS surfaces first; adopted by six adjacent product teams without mandate within the first year.

Design systemTokensTailwindGovernanceAdoption
Company
Elanco Animal Health
Timeline
Oct 2022 — Dec 2023 · 14 mo
Role
Lead Product Designer · system author + governance
Engineering partner
EKS Eng + Data Platform
Output
Token sheet · 38 components · contribution model · docs site
Adopted by
EKS · 6 adjacent teams (no mandate)
01 / JourneyDesigner → Engineer → PM → User

A design system has four actors. All four pay the tax when it's wrong.

The journey shows where EDS friction lived before it shipped, and where the redesign moved the friction — out of designer hands, into governance tooling.

Actor
Discover
Adopt
Compose
Ship
Maintain
Designer
Hears about EDS in a Slack channel.
Can't find the canonical Figma file.
Composes from named components.
Hands off with token references.
Files contribution requests.
Engineer
Installs the EDS npm package.
Imports components, applies tokens.
Was: copy-pasted styles each time.
Bumps version, runs codemod.
PM
Spec review against EDS source of truth.
Approves a tokenized spec.
Re-litigated hierarchy without EDS.
End user
Sees a coherent product, not 3 visual languages.
Trusts the surface more over time.
EDS evolution01 / 05
38 swatches. No semantic naming. Hard-coded everywhere.
01 · What was there

38 hex codes, no semantic meaning.

Elanco had a brand palette but no product palette. The 38 swatches were named after pigments (Cerulean, Sienna), not roles. Engineers hard-coded values; designers picked from PDFs.

Surface count: 14 · color values reused: 0%

02 · Tokenize

38 swatches collapse to 11 semantic tokens.

Background, ink, ink-2, ink-3, ink-muted, accent, accent-deep, accent-soft, rule, surface, sink. Role-based naming. Hex codes hidden behind tokens.

11 tokens · WCAG AA validated · light + dark from day 1

03 · Compose

38 components named after the discovery role taxonomy.

RegulatoryCard, VetBrief, CommercialThread, CustomerInquiry — and the supporting primitives (Button, Field, Banner, Toast). The naming convention came from research, not from the visual shape.

38 components · 14 atoms · 24 composites

04 · Adopt

EKS first. Then six adjacent teams. Without mandate.

EDS shipped as the substrate for EKS surfaces. Six other product teams adopted within 12 months — pulled in, not pushed. Organic adoption is the only metric that matters for an internal system's long-term viability.

Adoption: EKS (Q1) + 2 (Q2) + 4 (Q3–Q4)

05 · Govern

Contribution model: what stays in, what stays out.

RFC template, async review, biweekly sync. Two designers + one engineer review every proposal. The hardest decisions were what NOT to accept — accepting everything would have turned EDS into the union of everyone's preferences.

RFCs accepted: 19 · rejected: 11 · still in review: 4

02 / TokensSemantic palette
accent
accent-bright
ink
bone-3
bone

Rendered from the live token set — toggle the mode and the sheet re-themes itself. Paper-and-ink as ground; brand hues reserved for product surfaces. The swatches aren't a picture of the system; they are the system.

03 / ArtifactsImage slots reserved

Token sheet, docs site, contribution flow.

04 / Outcomes12 months post-launch

Adopted, contributed-to, maintained.

Components shipped3814 atoms + 24 composites
Tokens11Semantic · WCAG AA · light+dark
Adjacent teams adopted612 mo · no mandate
New surface ship time−60%vs pre-EDS comparables
05 / ReflectionDefend / redo
What I'd defend

Naming components after roles, not shapes.

The discovery role taxonomy gave EDS its information architecture. VetBrief is more useful than InfoCard because it carries semantic intent into every spec review.

What I'd do differently

Build the contribution tooling earlier.

Adjacent-team adoption out-ran the contribution model. By month 9 there were 23 PRs waiting on review with no SLA. Contribution tooling should ship with v1, not v1.3.