Design

Building a Design System from Scratch in Figma + React

Jun 20, 2025
10 min read
RivoMind Design Team

Why most design systems fail

They're either too abstract (tokens with no components) or too rigid (pre-built components with no flexibility). The sweet spot is a layered system: tokens, primitives, components, patterns.

Layer 1: Design tokens

Colors, spacing, typography, radii, shadows — defined as named variables in Figma and mirrored in code via CSS custom properties.

Layer 2: Primitive components

Headless or minimally styled components: Button, Input, Select, Dialog, Tooltip. We use Radix UI as the interaction foundation.

Layer 3: Composed components

Cards, forms, navigation patterns, data tables — built from primitives and tokens.

Layer 4: Page patterns

Full section patterns teams can assemble pages from. This is where real design velocity comes from.

Want to work with the team that writes this stuff?

Book a free 30-min strategy call — no pressure, just a real conversation.

Book Free Demo