Tokens before components
A component library built on hard-coded values is a stack of screenshots. Define colour, spacing and type as tokens first, and the components inherit consistency instead of imitating it.
Fewer components, better documented
Every component is a maintenance liability. A system with twenty well-documented components will outlive one with a hundred that nobody can find.
- Document when to use a component, and when not to
- Show the states: loading, empty, error, disabled
- Name things after their purpose, not their appearance
- Delete anything unused after two release cycles
Make the right thing the easy thing
If using the system is slower than working around it, people will work around it. Ship the components as installable code with sensible defaults so the fastest path is also the correct one.
