All posts

Design

Color Theory for Non-Designers

A short, practical color guide for developers, founders and PMs who need to pick a brand color without breaking the design system.

April 8, 2026 · 7 min read

You don’t need a design degree

You need three things: a primary color, a sense of contrast, and a way to generate the supporting shades. With those, you can build a design system that doesn’t look amateurish.

Step 1: Pick a primary

Avoid pure red (#FF0000), pure blue (#0000FF), pure green (#00FF00). They are eye-fatiguing on screens. Pick a color one or two notches off — a slightly warmer red, a slightly muted blue.

A good way to find your primary: open the color picker, pick a color you like, then drop the saturation by 10–15%. The result usually looks more professional.

Step 2: Generate shades

A complete UI needs at least 9 shades of your primary color (50, 100, 200 … 900). The easiest way to generate them is to convert your primary to HSL and adjust the lightness while keeping hue and saturation constant.

  • 50: lightness 95%
  • 100: lightness 90%
  • ...
  • 500: your primary
  • ...
  • 900: lightness 15%

Step 3: Pick a neutral

A good design system has *one* neutral with subtle warmth or coolness — not pure gray. If your primary is warm (red, orange, yellow), pick a slightly warm neutral. Cool primary, cool neutral.

Step 4: Check contrast

Text on backgrounds must hit WCAG AA contrast (4.5:1 for body text). A color that looks fine to you may be unreadable for someone else. Use a contrast checker, every time.

Step 5: Avoid color-only meaning

Never communicate state with color alone. Pair red with an icon. Pair "success" green with a checkmark. About 8% of men and 0.5% of women have some form of color blindness — design accordingly.

A 15-minute palette

Pick a primary, drop its saturation, generate the 9 shades, choose a matching neutral, check contrast on the most-used pairs. You now have a design system that won’t embarrass you.