Existing product
Migrate to a design system
Five chapters on getting an existing product onto a design system without burning out the team or stalling product work.
Sequenced — each chapter ends in an artifact the next one consumes.
Audit the surface area
Before you migrate anything, count what's there — and what's pretending to be one component but is actually six.
Build a token bridge
The intermediate layer that lets old and new ship side-by-side without breaking either.
Componentize the right things first
The order matters — high-volume primitives unlock the rest, complex composites only matter once primitives are done.
The engineering migration path
Codemods, escape hatches, and the discipline that keeps the migration from blocking product work.
Adopt and enforce
How you turn a migration that's 70% done into one that's 100% done — and stays that way.
Building a system from zero rather than migrating one? Start with the main playbook.