Too early
Before product-market fit, the interface should still be cheap to throw away. Formalising components at that stage locks in decisions you have not earned yet.
The right moment
You have more than one surface, more than one person building, and you keep redrawing the same button. That repetition is the signal.
Start with tokens, not components
Colour, type scale, spacing, radius, and motion. Tokens travel across every future component; a component library built before the tokens exist gets rebuilt twice.
