A designer picks blue. A developer hardcodes #3b82f6. Six months later, the brand changes. That blue becomes purple. The developer searches hundreds of files. They always miss some. One button stays blue forever.
React Color Design System: Building Scalable Palettes
Color tokens solve this. Names that describe purpose, not appearance. 'color.action.primary' instead of 'primaryBlue'. When your brand changes, you update one file. Your entire app adapts.
Structure in layers: base → semantic → component → theme. Each builds on the last.
Build accessibility from the start. Every color combo meets contrast standards. Don't rely on color alone—add icons, labels, patterns.
Build it right, everything else becomes easier. Build it wrong, you'll fight it forever.
