The premature design system
Startups love building design systems too early. A token file with six colors and four type styles is not a design system, it is a start — and shipping it as a "system" adds process weight before there is repetition to justify it.
The honest trigger: you need a system when the same button exists in three places with three different hover colors, or when onboarding a new engineer takes longer than a day.
The minimal system that pays for itself
Start with three files: a token set (colors, type scale, spacing, radii), a component library of the ten things you render daily (buttons, inputs, cards, tags), and one page of usage rules. That is 80 percent of the value.
Write the tokens as CSS custom properties, not hardcoded values. When the accent color changes — it will — you change one line, not thirty files.
Dark mode is the system test
A design system proves itself the first time you ship dark mode. If the theme is one attribute swap and every surface, border, and text token resolves, the system works. If you are hunting hex codes in components, the tokens never actually landed.
Semantic tokens — surface-1, border-2, text-muted — beat literal ones. They let the same component survive both themes without edits.
What to defer
Defer icon libraries, motion presets, and elaborate documentation. Defer them until three teams touch the code. A startup design system should fit on one page a new hire can read in ten minutes.