Unified design tokens that aligned Amazon’s product teams

Amazon Devices and Services

Unified design tokens that aligned Amazon’s product teams
Role
Lead Designer
Duration
Jan - Mar 2023
Team
Cross-team UX Designers, Visual Designers, Design Technologists & Front-End Engineers

Six device teams, six design systems, six incompatible ways of naming a design token. I sat on the central design systems team and led the effort to replace them with one. What came out was a naming framework: a short set of rules and a builder that turned a use case into a compliant name.

Similar use-cases named differently across six Amazon device design systems


Teams asked for tooling. The problem was naming.

The teams surfaced concrete asks: linters, automation, analytics. Each was real, and each was a symptom of the same cause: six token frameworks, each with its own vocabulary, so one idea carried a different name on every team. Color produced the most questions.

How do I know it's even a token versus a unique style?

Unique color names, versus flat out saying gray?

How do I do color increments? Random values, 10s, 100s?

Three months to replace six opinions with one

The work ran for almost a single quarter: discovery, research and evaluation, then framework design and rollout. One rule throughout: evidence before opinion, and don't kill what already works.

Three-month plan across discovery, research and evaluation, and framework creation
Audit findings showing shared patterns and outliers in how each team named its tokens

Tenets, because naming is an argument

Naming was the most opinionated part of a design system, so we set tenets first to help settle debates: the standard a name had to meet. The architecture came out of a week-long session with seven designers, design technologists and engineers.

Tenets used to settle naming disputes across teams
Cross-functional workshop defining the shared token architecture

The rules that made names predictable

1. Make a token look like a token

Every token carries a prefix, so it's obvious at a glance whether something is a token or a one-off style.

2. Use words people already know

Four conventions, all built on words teams already used:

  • Color: familiar names, never invented ones
  • Type styles: always text
  • Anything dimensional (spacing, radius, icon): size
  • Size variants: t-shirt sizing, because teams already used it

3. Name the intent, not the appearance

The longest argument was over one word: light. Light meaning what: the light theme, or a light color? The two readings point in opposite directions, and flip the moment the theme does. A token named for how it looks stops being true once its context changes. inverse names intent instead: the opposite of the default. It stays correct in every theme, because it describes a relationship, not a result.

Making it cheap to adopt

Most teams wanted to describe a use case and get a name back, not learn a framework. So I built a token name builder: a spreadsheet with formulae and data validation that returned a valid name from a few answers.

Rollout moved outward: my team, then the product teams, then the wider devices division.

Token name builder questionnaire generating a compliant token name

Results

  • Half of the six device teams adopted the naming framework
  • 500+ consistent tokens across those teams, built on a shared vocabulary
  • Cross-team collaboration on a shared set of tokens, where silos had held before

Half was a real milestone: no two teams had shared anything before. Adoption would have gone further, but some teams had to refocus under time and resourcing constraints.

Takeaways

  • The ask is rarely the problem. Teams asked for linters, automation and analytics. Building any would have just automated a broken vocabulary.
  • The builder should have been real tooling. A spreadsheet proved the framework worked inside the quarter, but engineering support would have produced usable tokens, not just their names.
  • Ownership capped the reach. The framework stayed with the central team. Opening it to contribution would have spread it further and let teams fix each other's problems.