Five chapters on getting an existing product onto a design system without burning out the team or stalling product work.
Before you migrate anything, count what's there — and what's pretending to be one component but is actually six.
The intermediate layer that lets old and new ship side-by-side without breaking either.
The order matters — high-volume primitives unlock the rest, complex composites only matter once primitives are done.
Codemods, escape hatches, and the discipline that keeps the migration from blocking product work.
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.