Skip to main content

Scaling a Multi-Brand Design System Across 40 Production Apps

NR Tech Studio Team
NR Tech Studio Team NR Tech Studio
10 min read

Forty disparate production codebases, 14 conflicting variations of a primary button, and an accumulated 4.2 MB of redundant CSS across three flagship enterprise web properties brought our engineering organization to an operational halt. When brand acquisitions accelerated in early 2026, shipping a single typography update across our consumer, enterprise, and partner platforms required 120 engineer-hours across six siloed teams.

Fragmented component implementations introduced severe WCAG accessibility violations, bloated bundle sizes, and visual drift that undermined user trust. This technical case study details how we dismantled legacy UI debt and engineered a unified, multi-brand design system powered by W3C design tokens, Style Dictionary compilation, Turborepo monorepo orchestration, and automated visual regression testing across 40 production applications.

System Context and Legacy UI Debt Audit

Before standardizing on a centralized infrastructure, our product suite suffered from decentralized frontend decisions accumulated over eight years of rapid growth. Three separate web stacks (React, Vue 3, and legacy server-rendered templates) consumed custom CSS files without shared design primitives. This enterprise design system case study establishes the operational baseline of that debt and outlines how we audited our surface area.

We executed an automated static analysis audit across all 40 repositories using custom ESLint AST crawlers and CSS bundle analyzers. The crawl revealed catastrophic fragmentation across our core UI properties:

Audit Finding: The analysis identified 142 distinct hexadecimal color values across production applications, despite our official brand palette containing only 18 colors. Over 68% of form inputs failed WCAG 2.2 AA contrast requirements when rendered in localized secondary brand themes.

The operational friction translated directly into degraded engineering velocity. Product teams spent an average of 34% of each two-week sprint reproducing common UI primitives or resolving style-leak regressions triggered by conflicting global CSS declarations.

Metric Legacy State (Pre-System) Target Architectural State Business Justification
Shared Primitives 0% (Siloed codebases) > 85% Core UI coverage Eliminate redundant sprint engineering
Button Implementations 14 distinct DOM patterns 1 Polymorphic component Prevent security, focus, and state bugs
CSS Bundle Footprint 185 KB (gzip) per app avg < 28 KB (gzip) tokenized core Direct Core Web Vitals optimization
WCAG 2.2 AA Compliance 41% automated pass rate 100% automated CI pass rate Legal compliance and platform usability
Design-to-Code Latency 3 to 6 weeks per feature Same-day token synchronization Accelerate time-to-market for multi-brand apps

To eliminate this friction permanently, we rejected surface-level component wrappers and committed to an automated, token-driven architecture governed as a first-class platform engineering product.

Token Architecture: Compiling W3C Specs with Style Dictionary

We anchored our design language on the W3C Design Tokens Community Group (DTCG) specification. Rather than relying on hardcoded Tailwind classes or CSS variables manually copied between repositories, we established a single source of truth within Figma Variables that syncs directly to Git via webhook automation.

Our token architecture enforces a strict three-tier hierarchy that guarantees complete theme isolation across our four distinct enterprise brand identities:

+-------------------------------------------------------------+ Tier 1: Global Primitives
| { "color": { "blue": { "500": { "$value": "#0284c7" } } } } | Raw HEX, RGB, rem values
+-------------------------------------------------------------+
 |
 v
+-------------------------------------------------------------+ Tier 2: Semantic Tokens
| { "color": { "interactive": { "$value": "{color.blue.500}" } } } Contextual intent & role
+-------------------------------------------------------------+
 |
 v
+-------------------------------------------------------------+ Tier 3: Component Tokens
| { "button": { "primary": { "bg": "{color.interactive}" } } } | Scoped component bindings
+-------------------------------------------------------------+

Using Style Dictionary v4, we authored custom transforms that process raw DTCG JSON files into typed artifacts for modern web runtimes, React components, and mobile consumers. Here is an excerpt from our multi-brand compilation pipeline:

import StyleDictionary from 'style-dictionary';
import { register } from '@tokens-studio/sd-transforms';

register(StyleDictionary);

export function buildBrandTokens(brandName, platform) {
 return StyleDictionary.extend({
 source: [
 'tokens/globals/**/*.json',
 `tokens/brands/${brandName}/**/*.json`,
 'tokens/semantic/**/*.json',
 'tokens/components/**/*.json'
 ],
 platforms: {
 css: {
 transformGroup: 'tokens-studio',
 buildPath: `dist/${brandName}/css/`,
 files: [{
 destination: 'tokens.css',
 format: 'css/variables',
 options: {
 outputReferences: true,
 selector: `:root[data-brand="${brandName}"]`
 }
 }]
 },
 typescript: {
 transformGroup: 'js',
 buildPath: `dist/${brandName}/ts/`,
 files: [{
 destination: 'tokens.d.ts',
 format: 'typescript/es6-declarations'
 }]
 }
 }
 });
}

This build pipeline ensures that our engineering teams never hardcode raw hex values or arbitrary pixel spacing into production code. Adherence is enforced via strict validation standards:

  • Tokens must reference semantic aliases: Direct links from Tier 3 to Tier 1 are rejected by Style Dictionary linters.
  • All dark-mode color pairings must automatically pass WCAG 2.2 AA contrast formulas during token compilation.
  • Generated token outputs include TypeScript typings that prevent invalid utility assignments at build time.

Monorepo Component Orchestration and Automated CI Pipelines

Managing UI primitives across multiple consuming frameworks required an enterprise monorepo setup. We selected Turborepo paired with pnpm workspaces to coordinate package dependencies, versioning, and compilation caching.

The repository houses the core React component primitives, framework-agnostic headless hooks, Web Components wrappers for legacy surfaces, and the token engine. Every pull request passes through an automated validation matrix designed to block regressions before code reaches staging environments.

[ Git Push / PR Opened ]
 |
 v
+-------------------------------------------------------------------------+
| Turborepo CI Pipeline (Remote Cache via S3) |
| |
| +--------------------+ +-------------------+ +------------------+ |
| | pnpm lint:tokens | | pnpm test:unit | | pnpm size-limit | |
| | (Schema Validation| | (Vitest + RTL) | | (Bundle Budgets) | |
| +--------------------+ +-------------------+ +------------------+ |
| \ | / |
| +----------------------+----------------------+ |
| v |
| +---------------------------+ |
| | Playwright E2E & A11y | |
| | (@axe-core/playwright) | |
| +---------------------------+ |
| v |
| +---------------------------+ |
| | Visual Regression Engine | |
| | (Chromatic / Percy) | |
| +---------------------------+ |
+-------------------------------------------------------------------------+
 |
 v
[ Automated Semantic Release via Changesets ]

Visual regression testing is anchored by Playwright running in headless Chromium. We assert full visual and accessibility compliance on every component state:

import { test, expect } from '@playwright/test';
import AxeBuilder from '@axe-core/playwright';

test.describe('Button Component Matrix', () => {
 const brands = ['core', 'fintech', 'healthcare'] as const;
 const variants = ['primary', 'secondary', 'danger'] as const;

 for (const brand of brands) {
 for (const variant of variants) {
 test(`verifies visual & a11y for ${brand} ${variant}`, async ({ page }) => {
 await page.goto(`/iframe.html?id=button--${variant}&brand=${brand}`);
 
 // Assert accessibility violations via Axe
 const accessibilityScanResults = await new AxeBuilder({ page }).withTags(['wcag2a', 'wcag2aa', 'wcag21aa', 'wcag22aa']).analyze();
 expect(accessibilityScanResults.violations).toEqual([]);

 // Assert visual regression within 0.1% tolerance
 await expect(page.locator('button')).toHaveScreenshot(
 `${brand}-${variant}-snapshot.png`,
 { maxDiffPixelRatio: 0.001 }
 );
 });
 }
 }
});

Our deployment cadence follows four structured stages:

  1. Token Ingestion: Figma Variables sync automatically via GitHub Actions, triggering the token build pipeline.
  2. Matrix Verification: Unit tests, axe-core scans, and visual regression tests execute concurrently across all supported brand viewports.
  3. Bundle Budget Assertion: Size-limit fails the build if any single component primitive expands total gzipped weight by more than 1.5 KB.
  4. Canary Distribution: Approved changes publish under an automated canary tag to npm, allowing consumers to test updates in staging without risk.

Federated Governance, Versioning, and Breaking Change Mitigations

Centralized platforms often fail because the central team turns into a feature bottleneck. To scale adoption across 40 applications, we adopted a federated hybrid governance model that distributes ownership while preserving core quality standards.

A core team of four platform engineers and two design technologists maintains foundational primitives (focus managers, token infrastructure, monorepo CI). Product feature teams build and propose composite patterns through structured Request for Comments (RFC) proposals.

Responsibility Area Core Platform Squad Federated Feature Squads Cross-Functional Design Guild
Global & Semantic Tokens Owns build & transforms Consumes via aliases Approves palette adjustments
Base Primitives (Button, Input) Full lifecycle ownership Reports bugs, submits PRs Standardizes visual parity
Composite Patterns (Data Grid) Provides headless primitives Builds & tests implementation Validates usability specs
WCAG 2.2 Audits Builds automated CI checks Remediates consumer defects Conducts manual screen-reader tests
Breaking Changes & Codemods Authors AST transforms Executes codemods locally Coordinates migration windows

Governance Protocol: Breaking changes to core component APIs are prohibited within minor releases. When an API change is required, the core squad must provide an automated jscodeshift codemod that migrates consuming codebases automatically before the major version releases.

When deprecating our legacy isFullWidth prop in favor of the flex-layout token standard width="full", our automated codemod updated 1,420 consuming files across 40 repositories in less than five minutes of automated runner time:

export default function transformer(file, api) {
 const j = api.jscodeshift;
 const root = j(file.source);

 return root.find(j.JSXOpeningElement, { name: { name: 'Button' } }).forEach(path => {
 const fullWidthPropIndex = path.node.attributes.findIndex(
 attr => attr.name && attr.name.name === 'isFullWidth'
 );
 if (fullWidthPropIndex!== -1) {
 path.node.attributes.splice(fullWidthPropIndex, 1);
 path.node.attributes.push(
 j.jsxAttribute(j.jsxIdentifier('width'), j.literal('full'))
 );
 }
 }).toSource();
}

Production Impact: Sprint Velocity, WCAG 2.2 Compliance, and Code Reuse

Measuring the real-world performance of a platform project requires strict quantitative telemetry. We integrated telemetry loggers into our build pipelines and monitored Jira velocity metrics across 24 product teams over a 12-month migration phase.

The return on investment emerged across three key operational axes: velocity acceleration, automated accessibility compliance, and massive code reduction.

Operational Metric Baseline (Q1) Post-System (Q4) Measured Delta
Shared UI Code Coverage 0% 78.4% +78.4% standard codebase reuse
Avg Frontend Ticket Cycle Time 9.2 days 5.3 days 42.4% velocity acceleration
Total CSS Shipped to Client 4.2 MB across apps 1.1 MB across apps 73.8% payload reduction
WCAG 2.2 AA Defect Rate 48 tickets / quarter 2 tickets / quarter 95.8% defect reduction
Multi-Brand Theme Switch Latency 3 weeks dev time Instant runtime swap 99% time-to-deliver savings
PR Review Cycle Time (UI changes) 36 hours avg 11 hours avg 69.4% faster code approvals

Key drivers behind these verified performance metrics include:

  • Elimination of custom CSS authoring: 82% of all feature pull requests now assemble interfaces using preexisting tokenized primitives without declaring custom stylesheets.
  • Automated accessibility gates: axe-core CI integration caught 312 contrast and keyboard navigation errors in pull requests before reaching staging environments.
  • Predictable release trains: Monorepo Changesets automation reduced dependency version conflicts between micro-frontends from multiple daily incidents to zero.

Documenting System Implementations in a Design System Portfolio

For principal engineers, design technologists, and engineering managers, presenting this scale of architectural transformation requires a structured storytelling approach. When curating an impactful design system portfolio, recruiters and executive leaders look beyond static UI screenshots to assess your architectural rigor, trade-off analysis, and quantitative business outcomes.

A distinguished portfolio piece should document real engineering constraints, highlighting the friction of brownfield migrations rather than idealized greenfield setups.

Recommended Portfolio Blueprint

  1. The Operational Catalyst: Detail the concrete business problem. Explain the legacy fragmentation, performance bottlenecks, and legal accessibility exposures that mandated the investment.
  2. Token Pipeline Architecture: Present clean architectural diagrams showing how tokens flow from design tools through Style Dictionary into production codebases.
  3. Component System Mechanics: Showcase monorepo configuration, visual testing setups, and code samples illustrating composition patterns.
  4. Governance & Migration Strategy: Document how you prevented developer pushback through federated contribution models, automated codemods, and canary releases.
  5. Quantitative ROI Telemetry: Quantify your impact using definitive metrics: bundle size reductions, cycle time improvements, and WCAG compliance benchmarks.

Use this evaluation checklist to audit your technical documentation:

  • Include real production code: Show Style Dictionary configurations, Playwright accessibility assertions, or custom AST codemods.
  • Avoid generic claims: Replace statements like “improved team collaboration” with measured metrics such as “reduced UI pull request review time from 36 hours to 11 hours.”
  • Address failure states: Document technical hurdles encountered during multi-theme token compilation or legacy CSS isolation, and explain how your team resolved them.

Frequently Asked Questions

What core metrics belong in a design system case study?

A production design system case study must highlight component adoption rates, sprint velocity acceleration, pull request review time reductions, automated accessibility compliance scores, and quantitative reductions in duplicate CSS across distributed application codebases.

How do you present an enterprise design system portfolio piece?

Structure a design system portfolio by focusing on architectural challenges rather than static visuals. Detail the cross-platform token pipeline, monorepo governance models, automated visual testing pipelines, breaking change strategies, and measurable business adoption impact across cross-functional squads.

How do design tokens integrate with modern CI/CD workflows?

Design tokens sync from Figma Variables via REST APIs into a Git repository. A CI runner executes Style Dictionary to transform token JSON schemas into platform-specific artifacts such as CSS custom properties, iOS Swift constants, and Android Compose files.

What governance model works best for scaling enterprise design systems?

A federated hybrid governance model delivers optimal balance. A central core platform team maintains primitives, CI tooling, and documentation, while product squad contributors submit new patterns through formal RFCs and pull requests reviewed against strict accessibility standards.

Standardizing UI infrastructure across 40 production applications requires disciplined software engineering: strict W3C token hierarchies, automated compilation via Style Dictionary, robust CI visual regression gates, and empathetic federated governance. The transformation converts fragmented styling from a recurring maintenance bottleneck into an automated platform asset.

By treating your design system as an internal product with measurable velocity telemetry and automated breaking change migrations, your organization can accelerate frontend delivery while guaranteeing accessibility and visual coherence across every brand identity.

Need Engineering Guidance for Your Production Stack?

Evaluate architecture trade-offs, scalability limits, and implementation feasibility with experienced systems engineers.

Schedule an Engineering Review

References & Further Reading