Count roles instead of swatches
Separate color families from individual tokens. One blue family may include ten shades but still function as a single brand accent. Conversely, success, warning, error, and information may require four semantic families even when used sparingly.
List the roles first: backgrounds, surfaces, text levels, borders, primary action, secondary action, links, focus, selected state, and system feedback. Add new colors only when an existing role cannot communicate the needed distinction.
Use neutrals for most of the interface
Well-structured neutrals carry layout, typography, borders, and elevation. This allows the brand accent to remain noticeable. When every card, icon, and heading uses a saturated hue, the interface loses hierarchy and important actions compete for attention.
A neutral scale should still be tested for contrast. Several adjacent grays may be visually redundant, so remove shades that do not produce a meaningful difference in real components.
Control accent proportions
A practical starting pattern is to let neutrals occupy most of the screen, use the primary accent for key actions and selection, and reserve secondary accents for limited emphasis. This is a proportion principle, not a strict percentage rule.
Preview a full page rather than equal swatches. Equal swatches exaggerate minor colors and hide how the palette behaves when one surface dominates.
Keep semantic colors consistent
Do not reuse the error red as a decorative brand accent in the same product. Users learn meaning through repetition; changing that meaning creates hesitation. The same applies to success green, warning amber, and informational colors.
Each semantic family needs readable foregrounds, subtle backgrounds, borders, and icon states. A single HEX value is rarely enough for all feedback components.
Expand carefully for data visualization
Charts may require more categorical colors, but every series should remain distinguishable through labels, line styles, markers, patterns, or direct annotation. Avoid importing a large rainbow palette into the rest of the interface.
Create a separate data palette with usage limits and test it for color-vision differences and adjacent contrast. Keep product UI tokens and chart tokens documented as related but distinct systems.
Practical checklist
- Define roles before selecting shades
- Let neutrals carry most interface structure
- Reserve accents for meaningful emphasis
- Keep semantic meanings consistent
- Treat data visualization as a separate palette
This guide is maintained by the Colorrow Editorial Team. Suggestions and corrections can be sent to contact.colorrow@gmail.com.