Sonam Chadha
Capabilities

Design systems are infrastructure, not libraries.

I build design systems from zero and get them adopted. Orbit, the system I built at ENGIE Impact, is what 6 product teams across 8 countries now ship on.

Read the Orbit case study
Components
0+
Components
Product teams
0
Product teams
Countries
0
Countries
Button variants
0+ → 1
Button variants
Change one token, and every component that uses it updates.
01 · Foundation

Going from zero to a system

When I joined ENGIE Impact there was no design system. Not an outdated one, not a neglected one. Nothing. Before building anything, I made the case for one in three steps.

Step 01 · Audit

Audit what's actually in production

A cross-team component audit surfaced what everyone already suspected: 30+ button variants in production, no shared tokens, and no clear owner.

Button variants: 30+ button variants
What the audit found, and what Orbit replaced it with.
Step 02 · Pitch

Turn the waste into a business case

The audit became the pitch. I translated duplicated design and engineering work into a cost leadership could weigh against headcount.

0

Est. hours of duplicated work per year

0.0

Est. headcount equivalent

Step 03 · Plan

Commit to a phased plan

An 18-month build plan with clear milestones, so leadership could see exactly what they were funding and who owned each phase.

Foundation

M1–6

Design-led

Scale

M7–12

Joint ownership

Govern

M13–18

Org-owned

The commitment I made, and held to: Orbit would reduce engineering work, not add to it.

30+ to 1

Button variants eliminated

200+

Components shipped

18 months

Zero to 200+ components

02 · Adoption

A mandate gets compliance. Trust gets contribution.

Leadership required Orbit across all six product teams. That got us compliance. Trust, contribution, and ownership had to be earned team by team.

Diagram: six product teams circle the Orbit core. Over 12 months all six adopt Orbit, then four of the six start contributing components back into it.

Teams and timing are illustrative. The outcome is not: 12 months, all 6 teams across 8 countries, 4 contributing back.

Weekly design reviews during onboarding

For the first three months of each team's adoption, I ran standing weekly design reviews with their designer. Not to approve their work, but to catch where Orbit wasn't serving them, then fix the component or open a new candidate.

A contribution pathway, not gatekeeping

Teams could propose missing components instead of building their own outside the system. Without a pathway, a mandated system breeds resentment. With one, teams feel invested in it.

Visible metrics shared with leadership

Adoption rates by team, shared in quarterly reviews. Not a performance report, but a signal of where the system needed to grow. Teams saw their contributions prioritized in the next Orbit cycle.

12 months

To full adoption across all 6 teams

4 of 6

Teams contributing components back

50%

Design team size needed to ship major updates, vs. previous cycles

03 · Governance

No parallel tracks. A system, not a suggestion.

Every Orbit component had a readiness state, clear criteria for moving between them, and a fixed path for retiring. That structure got its real test before Orbit was even fully adopted.

Component lifecycle: Exploratory, proposed and under evaluation. Candidate, in review and seeking adoption. Stable, production-ready and governed. Deprecated, with a 90-day migration window before the old version is retired.

Every Orbit component carried one of these states, with clear criteria for moving between them.
01 · The request

“Can we just keep both?”

Six months into the build, two teams flagged that year-old production components were being deprecated. The replacements were better, but migration meant unplanned engineering work.

02 · The answer

No parallel track.

We made migration as easy as possible. We didn't make it optional.

  • A 90-day migration window
  • A clear migration guide
  • Allocated engineering support hours
  • A named owner per team
03 · The result

Every team made it.

And the pattern held: no deprecated component ever came back.

The moment you allow parallel tracks, the system stops being a system. It becomes a suggestion.

Who owns what

Design owns

  • Component specification
  • Token structure
  • Contribution standards

Engineering owns

  • Implementation
  • A defined seat at the table on any deprecation or structural change

Built together

Token naming. The first working sessions on token semantics were joint, with designer and engineer building the conventions together before a single component was specced.

04 · Documentation

If you have to ask, the docs aren't done.

Every Orbit component shipped with every interaction state, token references, usage guidelines, and accessibility notes. The bar: if a designer couldn't use a component correctly without asking anyone, the documentation wasn't done.

State

Showing the Default state.

Tokens

  • Bordercolor.border.default
  • Textcolor.text.primary
  • Radiusradius.control

WCAG 2.1 AA in this state

  • Focus visibility: not exercised in this state
  • Color contrast: applies
  • Label association: applies
  • Error identification: not exercised in this state
One component, every state documented. Token names are illustrative.

Figma and Storybook, in sync

Figma library

Storybook

  • ComponentTextInputComponent<TextInput />
  • Statestate = errorStatestate="error"
  • Sizesize = mdSizesize="md"

Component, prop, and state names matched across design and code. One source of truth, not two that drift.

05 · Principles

How I think about design systems

Five beliefs, each one tested on Orbit. Every one links back to where you saw it on this page.

  1. 01

    Make the case before you make the components.

    The audit became the pitch. A system nobody funded is a side project.

    Seen in 01 · Foundation
  2. 02

    Governance before growth.

    A system without deprecation rules is a system that will eventually have two of everything. Set the rules for how components age out before you need them.

    Seen in 03 · Governance
  3. 03

    Design systems are earned, not mandated.

    Mandate gets you adoption numbers. Trust gets you contribution. The systems that last are the ones teams feel invested in.

    Seen in 02 · Adoption
  4. 04

    The token layer is where systems live or die for engineering.

    Tokens are the handshake between design and code. If engineers didn't help name them, they'll work around them.

    Seen in 03 · Governance
  5. 05

    Documentation is part of the component.

    A component that isn't fully documented isn't done. Full stop.

    Seen in 04 · Documentation

Want to see the full story?

The Orbit case study covers the audit, the pitch, the governance decisions, and what I'd do differently.

Read the Orbit case study