designmotionhq

visual

Dark Mode

Same app, one inverts colors. The other feels premium.

Watch on Instagram

Key insights

  • Dark mode is not black mode. Build on a near-black base like #121212, not pure #000000, so shadows and depth stay visible.
  • Signal elevation with layered surfaces: each step up gets a lighter grey (base → surface → elevated), the way shadows do the job in light mode.
  • Desaturate accent colors by roughly 20%. Full-saturation buttons and highlights vibrate and strain the eye against a dark background.
  • Never use pure white text. #FFFFFF glares on dark UI — calibrate it down to a soft off-white for comfortable reading.
  • Build text hierarchy with opacity, not new colors: high-emphasis, medium, and disabled text simply step down in white opacity.

Do / Don't

  • Do: Base your darkest layer on a near-black grey like #121212, then lighten each surface as it elevates.
  • Do: Desaturate accent colors so buttons and highlights sit calmly against the background.
  • Do: Dim body text to a soft off-white and use opacity tiers to separate emphasis levels.
  • Don't: Use pure black (#000000) as the background — it flattens elevation and hides shadows.
  • Don't: Ship fully saturated accent colors — they buzz and read as cheap on dark UI.
  • Don't: Set text to pure white (#FFFFFF) — the glare fatigues the eyes over time.

Want Claude to build this correctly?

UX Engine gives Claude Code the senior-designer reasoning behind every pattern.

The Design System Blueprint

An 11-page visual guide to consistent, scalable UI: colors, typography, spacing, components, motion.

Get the Blueprint — free

The PDF, plus emails about new patterns and my tools. Unsubscribe anytime.

Related patterns