Some things I've learned about design systems
A tiny (but heartfelt) mash of design system wisdom to start your week
This post is partially inspired by an episode of a new design-systems-focused podcast: On Theme: Design Systems In Depth.
In no particular order:
- Avoid being an “everything” system - that’s for HTML and CSS to handle
- Have specific, justified solutions to existing product problems
- Pick your battles; expansion for expansion’s sake will crush your team output
- Design tokens are complicated - don’t introduce them unless you really need to (e.g., enterprise branding support)
- Sometimes “simple” components can be a cost center (e.g., button)
- Documentation is for people, not robots (although AI might change that pretty soon)
- It’s OK to say “no” to things
- A design system is just design with frills
- A pattern is useful until it’s not; be ready to drop support for stuff as your product evolves
- If your component APIs feel confusing, they’re probably confusing
- Engineers and designers can and should automate across their disciplines
- Review governance expectations frequently
- Pair with product designers/engineers (don’t work in a vacuum)
- Not all design systems need foundations
- Read about software patterns; they turn out to be really useful for design systems
Published
Author
- George Treviranus