Design Systems That Scale: The IntelliTech Approach
Design

Design Systems That Scale: The IntelliTech Approach

AP
Aisha Patel
Head of Design
October 5, 20243 min read

The Two Failure Modes of Design Systems

Design systems fail in exactly two ways: they're too rigid or they're too loose.

Too rigid: Engineers spend more time working around the system than building features. Every edge case requires a 2-week PR review cycle.

Too loose: The system is a suggestion library. Every team does its own thing. You end up with 12 different button variants.

Building a system that stays in the productive middle requires more intentional design than the system's components themselves.

The Foundation: Design Tokens, Not Components

Most teams build a component library and call it a design system. That's backwards.

Tokens come first:

color.brand.primary → #0057FF
color.brand.secondary → #7C3AED
color.text.primary → #0a0a0f (light), #fafafa (dark)
spacing.base → 4px
radius.card → 16px
shadow.elevated → 0 4px 24px rgba(0,0,0,0.12)

When tokens are the source of truth, theme changes take minutes, not months. We've rebranded two enterprise clients by updating 40 token values and watching every component update instantly.

The Component Hierarchy That Works

Primitives (Button, Input, Text)
    ↓
Compositions (FormField, Card, Modal)
    ↓
Patterns (LoginForm, ProductCard, NavigationMenu)
    ↓
Pages (layouts, templates)

The rule: components only import from the layer below them, never above. A Button never knows about a ProductCard. A ProductCard never knows about a LoginPage.

Violations of this rule are how coupling sneaks in.

Documentation as a First-Class Citizen

Every component in our system ships with:

  1. Usage guidelines — when to use this, when not to
  2. Accessibility notes — keyboard interactions, ARIA requirements
  3. Live examples — not screenshots, live rendered components
  4. Prop matrix — every variant combination, visible and tested

Teams that write documentation after the fact never catch up. We write docs alongside components, in the same PR.

Versioning and the "Good Enough" Problem

One of the hardest design system conversations is when to release breaking changes.

Our rule: minor improvements ship in patch releases; anything that changes existing behavior ships in a major release with a migration guide.

This sounds obvious. Teams still routinely ship breaking changes in minors and wonder why engineers stop trusting the system.

The Governance Model That Actually Works

Too much governance: a "design system committee" that must approve every change. Teams route around it.

Too little governance: anyone can add anything. The system becomes incoherent.

Our model: one designated maintainer per domain (forms, navigation, data display), with a lightweight RFC process for new patterns. Anyone can propose. Maintainers decide. Changes ship within a sprint.

Speed is a feature of a design system. Slow processes breed shadow systems.

Newsletter

Get our best insights delivered weekly.

Join 5,000+ engineers and product leaders reading IntelliNodes weekly. No spam, unsubscribe anytime.

AP
Aisha Patel
Head of Design · IntelliNodes

Engineering world-class systems and writing about what we learn along the way.