GSoft Consulting
UI/UX Design

Typography and Color Systems That Scale: A Practical UI/UX Guide

U

Usama

UI/UX Designer

22 September 2025

6 min read
Typography and Color Systems That Scale: A Practical UI/UX Guide
UI/UX Design

After working on 100+ product interfaces, I've come to believe that most UI inconsistencies trace back to two root causes: no defined typographic scale, and no semantic colour system. These are foundational decisions that affect every screen, every component, and every developer interaction. Getting them right once saves hundreds of hours across a project's lifetime.

The Typographic Scale We Use on Every Project

We use a minor third scale (ratio 1.25) for body-focused products and a major third (ratio 1.333) for marketing and editorial products. The key is consistency — pick a ratio and derive every font size from it, rather than specifying arbitrary sizes.

  • Display (72–96px): Used only for hero headings. We use a purpose-built display typeface that's optically larger than the body typeface at the same size.
  • Heading (32–48px): Section titles, modal headers, page headings. Reduced line-height (1.1–1.2) is non-negotiable at this size.
  • Subheading (20–28px): Card titles, sidebar navigation headers, form section labels.
  • Body (15–17px): The default reading size. We rarely go below 15px for body text — it's technically readable but uncomfortable for extended reading.
  • Caption (11–13px): Labels, metadata, timestamps. Requires increased tracking (letter-spacing: 0.04em) to maintain readability at small sizes.

Semantic Colour Architecture

⚠️ The mistake that breaks dark mode

Teams that map semantic tokens directly to raw hex values (--color-primary: #3B82F6) instead of to a scale step (--color-primary: var(--blue-500)) find dark mode support becomes a full redesign rather than a token swap. Always map semantic to scale, never semantic to raw value.

  • Background / Surface / Elevated Surface: Three levels of background elevation. Prevents the 'box in box in box' visual problem from nested containers all sharing the same background.
  • Foreground / Muted Foreground: Two levels of text emphasis. Secondary information uses muted-foreground (typically 50-60% opacity of foreground), never an arbitrary grey.
  • Border / Strong Border: Subtle separator (5-10% opacity) vs. emphasis separator (20-30% opacity). Used consistently, these create visual hierarchy without colour.
  • Accent / Accent Foreground: The brand colour and the text colour that's legible on top of it. Check contrast ratio — 4.5:1 minimum for body text.

100+

Product UIs designed

60%

Less QA time with token systems

4.5:1

Minimum contrast ratio enforced

2 days

Avg time to add dark mode with tokens

Tags

TypographyColor TheoryDesign TokensFigmaUI/UXDesign Systems

Work with us

Ready to build your product?

We help product teams across the UK, Netherlands, Australia, and North America ship faster without compromising quality. Let's talk about your project.

Talk to our team →