Design

Design Systems at Scale: One Base System for 12 Client Products

Two years ago we maintained 12 separate design systems. Today one token-driven base system serves all clients through a lightweight theme override layer.

admin · January 30, 2026 · 1 min read

The Problem We Were Solving

Seven different button border-radius values across our portfolio. Eleven shades of “primary blue.” Onboarding a new designer took three weeks just to understand which conventions applied to which project.

Layer 1: Design Tokens

Atomic values defined as structured JSON. Style Dictionary compiles them to CSS custom properties, iOS Swift constants, Android XML, and Figma variable collections simultaneously. Change one token, it propagates to every platform automatically.

Layer 2: Base Component Library

80 components built in React with TypeScript, published to a private npm registry. Every component is WCAG AA compliant, keyboard navigable, and accepts design tokens as configuration rather than hardcoded values. A Button component does not know what colour it is — it knows which token to use for its background.

Layer 3: Product Themes

Each client maintains a small JSON file — typically 20–40 token overrides — that defines how their product differs from the base system. A fintech client sets a conservative colour palette and larger touch targets. An edtech client sets a playful palette and rounded corners. The component library is unchanged between them.

The Payoff

6–8 weeks of saved development time per new client project. 70% reduction in cross-product design inconsistency bugs reported. New component themes take 2 hours to create.