Our Multi-Brand, Multi-Dimensional Token Architecture
Our new Design Token structure introduces a scalable, brand-agnostic system that ensures consistency, flexibility, and error prevention across all brands and experiences.
1. Core Principles
-
Agnostic foundation All tokens start from a neutral, global base (00-global/00-base). These define raw values (colors, typography, spacing, etc.) without brand identity.
-
** Brand overrides** Each brand (betfair, sky, pp, ps …) overrides only the tokens it needs to adapt. Everything else falls back to the agnostic values, ensuring coverage with no gaps.
-
Semantic abstraction Semantic tokens (01-semantic/...) sit on top of the agnostic/brand layers. They map raw values to design intent (e.g. border-radius.medium, heading.large.strong). This guarantees that UI meaning is consistent even if underlying values differ per brand.
-
Multi-dimensional flexibility Tokens are organized in groups and stages (global → brand → semantic → component).
This allows variations by:-
Brand (Betfair, Sky, PP, PS…)
-
Theme (light/dark if needed)
-
Component (semantic usage in context)
-
2. Token Stages & Groups
Stage 0 – Global / Agnostic (00-global/00-base)
What it is: Raw primitives shared across all brands.
Examples:
-
Colors (gb.colours.red.40, gb.colours.teal.20)
-
Typography (gb.font-family.font-primary, gb.font-size.16)
-
Spacing & sizing (gb.spacing.8, gb.sizing.40)
-
Effects (gb.drop-shadows.30, gb.opacity.37)
Universal fallbacks — no brand identity, only pure values.
Stage 1 – Brand Overrides (00-global/{brand})
What it is: Brand-specific redefinitions, layered on top of the agnostic base.
Examples:
-
Betfair: sets Noto Sans as font-family
-
Sky: adjusts drop-shadows and gradients
-
Paddy Power: overrides neutrals and greens
-
PokerStars: applies Druk Text secondary font and strong color palette
Injects brand identity while falling back to agnostic values when undefined.
Stage 2 – Semantic (01-semantic/...)
What it is: Tokens with meaning and intent, not just values.
Examples:
border-radius.medium → {gb.border-radius.4}
heading.large.strong → typography mapping to primary font + strong weight
sizing.images.large → {gb.sizing.140}
Bridges design intent with brand style, so designers/devs use “what it means” instead of “what it is”.
Stage 3 – Component / Application (future layers)
What it is: Component-level tokens built from semantic ones.
Examples:
button.primary.background → semantic color token
card.shadow → semantic shadow token
Final abstraction — ensures tokens are consumed by meaning, not raw values.
3. Fallback Mechanism
If a brand token is not defined → it falls back to the agnostic base.
If a semantic token references something missing → it resolves through the fallback chain until it finds a defined value.
This ensures:
-
No errors or missing tokens in builds
-
Consistent defaults across brands
-
Safer scaling when new brands or themes are added
4. Advantages of the New Structure
✅ Scalable – Easily extend to new brands or themes without duplicating everything
✅ Error-proof – Built-in fallback prevents missing values or build errors
✅ Flexible – Brands override only what they need, saving time and effort
✅ Consistent semantics – Designers & developers work with meaningful tokens, not hard-coded values
✅ Maintainable – Clear hierarchy (agnostic → brand → semantic → component) makes it easy to understand and evolve
✅ Future-ready – Supports multi-dimensional needs (multi-brand, theming, dark mode, etc.)