A lean design system that product teams chose to adopt
Design lead along with two engineers
Product teams were building on Swift, React Native and web with no shared contract. Every design decision got remade per platform, and drifted.
What I did
- Treated the system as an operating model, not a library: semver releases, same-day Figma-to-JSON contributions, an explicit platform handoff. Adoption became a decision, not drift.
- Shipped the token layer and the first forty components myself — DTCG tokens through Style Dictionary, into Swift, React Native and CSS, light and dark built in from day one.
- Said no in writing: a public changelog, and a "what not to generate" list. One release alone cut 233 speculative tokens down to about 60 — a pattern had to earn its place by its second use.
What changed
- Design-to-build rework down about 40%. Components reference semantic tokens only, so a rebrand touches one file, not forty.
- The fourth product shipped its UI in six weeks against a sixteen-week baseline — one tagged release, pinned across all three platforms.
- A year later, adoption was still above 90%. Teams chose to keep using it, and a CLAUDE.md contract kept AI-generated code compliant without anyone reviewing it line by line.