LabHub

Blog

Design Systems and Tokens 2025 — Complete Guide: Radix, shadcn/ui, Chakra, Tamagui, Park UI, Ark UI, DaisyUI Compared, the W3C Design Tokens Standard, Figma Variables and Tokens Studio Integration, Component API Design, Accessibility, and Korean Enterprise Case Studies — Season 6 Ep 2

한국어English日本語

Prologue — A Design System Is Not CSS

Starting around 2020, every organization launched a "design system initiative." By 2025, the line between successful systems and failed systems is sharply drawn.

Three common misconceptions:

  1. "Design system = component library" (wrong)
  2. "Design system = the design team's job" (wrong)
  3. "Design system = a Figma file" (wrong)

The truth:

Design system = tokens + components + patterns + docs + governance. And a system that expresses all of this identically across Figma, code, and Storybook.

2024–2025 was the year Figma Variables and the W3C Design Tokens Community Group standard settled in, and Design-to-Code integration finally became practical. This post is the map of that terrain.

Chapter 1 — The Five Layers of a Design System

A mature design system has five layers.

Layer 1: Primitive Tokens

Layer 2: Semantic Tokens

Layer 3: Component Tokens

Layer 4: Components

Layer 5: Patterns

Why Three Token Tiers?

If you only use Primitives

With Semantics in between

Chapter 2 — The 2025 Landscape of Component Libraries

(1) Radix UI (Primitives)

(2) shadcn/ui

(3) Chakra UI

(4) Tamagui

(5) Park UI (CVA-based)

(6) Ark UI

(7) DaisyUI

(8) Mantine

(9) HeroUI (formerly NextUI)

(10) Enterprise: Ant Design, Material UI (MUI), Fluent UI

Head-to-head Comparison

LibraryStyleA11yCustomizationEcosystemLearning
Radix PrimitivesHeadlessfive starsfive starsfour starsmedium
shadcn/uiTailwindfive starsfive starsfive starslow
ChakraStyledfour starsfour starsfour starslow
TamaguiStyled (cross)four starsfour starsthree starsmed–high
Ark UIHeadlessfive starsfour starsthree starsmedium
DaisyUIStyled (CSS)three starsthree starsfour starslow
MantineStyledfour starsfour starsfour starslow
MUIStyledthree starsthree starsfive starsmedium

Chapter 3 — Headless vs Styled: Which Should You Pick?

Headless (Radix, Ark, React Aria)

Styled (Chakra, MUI, Ant, Mantine)

Hybrid (shadcn/ui, DaisyUI)

How to Decide

Pick Headless when

Pick Styled when

Pick Hybrid (shadcn) when

Chapter 4 — The W3C Design Tokens Standard

In 2024–2025 the W3C Design Tokens Community Group (DTCG) standard format has taken hold.

Standard Format (DTCG 2024)

{
  "color": {
    "brand": {
      "primary": {
        "$value": "#0066ff",
        "$type": "color",
        "$description": "Main brand color"
      }
    }
  }
}

Key Characteristics

Major Types

Figma Variables (2023–2024)

Integration Tools

(1) Tokens Studio for Figma

(2) Specify

(3) Style Dictionary (Amazon)

(4) Supernova

A Real-World Workflow

Figma Variables / Tokens Studio
         ↓ push
    GitHub (tokens/*.json)
         ↓ CI
    Style Dictionary
         ↓ build
[web.css, ios.swift, android.xml]
         ↓ publish
    NPM · CocoaPods · Maven

Chapter 5 — Principles of Component API Design

The real determinant of a library's value is its API design. Pleasant to use means it sticks; painful means it gets abandoned.

Five Principles

(1) Composition over Props

(2) Both Controlled and Uncontrolled

(3) The asChild Pattern (Radix)

(4) Polymorphic as prop (but typing gets hairy)

(5) Variant Pattern

const button = cva('base-classes', {
  variants: {
    size: { sm: '...', md: '...', lg: '...' },
    variant: { primary: '...', ghost: '...' },
  },
});

Warning Signs

Chapter 6 — Theming and Dark Mode

The 2025 Standard Approach

  1. Semantic tokens abstract colors (surface, text, border).
  2. CSS Variables drive runtime theme switching.
  3. prefers-color-scheme plus a persisted user choice.
  4. No SSR flash: read localStorage on the server, or inject a class on the initial HTML.

Implementation (shadcn/ui default)

'use client';
import { ThemeProvider } from 'next-themes';

export default function Root({ children }) {
  return (
    <ThemeProvider attribute="class" defaultTheme="system">
      {children}
    </ThemeProvider>
  );
}
:root { --background: 0 0% 100%; --foreground: 222.2 84% 4.9%; }
.dark { --background: 222.2 84% 4.9%; --foreground: 210 40% 98%; }

Finer Color Modeling (2024–2025)

Chapter 7 — Accessibility: A Defaults Philosophy

"Accessibility isn't an add-on — it's the default."

WCAG 2.2 (2023) Key Changes

Design System Defaults

Key Tools

Chapter 8 — Mobile and Cross-Platform Design Systems

Strategies for Web and Mobile Together

(1) Run Them Separately

(2) Share via React Native

(3) Flutter

Chapter 9 — Korean Enterprise Case Studies

Toss (TDS / Toss Design System)

Kakao (Kakao Design Language)

Coupang (Coupang Design System)

LINE (LINE Design System, LDS)

Baemin / Woowa (Woowa Design System)

Shared Patterns

Chapter 10 — Adoption Strategy by Team Size

1–3 People (solo / early startup)

10–30 People (Series A–B)

50–200 People (Series C+)

200–1,500 People (enterprise)

Common Failure Modes

Chapter 11 — 90-Day Playbook: Starting an Internal DS with shadcn

Day 1–14: Define Tokens

Day 15–30: Foundation Components

Day 31–45: Patterns

Day 46–60: Governance

Day 61–75: Accessibility

Day 76–90: Rollout and Enablement

Chapter 12 — Next Up: Season 6 Ep 3 — "AI-Native UI and Generative UX"

Once you have a design system, the next frontier is the era when AI builds the UI. Ep 3 is about AI-native UI patterns.

"While the AI generates its response, what is the user looking at?"

See you in the next post.

Epilogue — A 12-Point Checklist

  1. Does your design system cover all five layers: tokens, components, patterns, docs, governance?
  2. Are primitive and semantic tokens cleanly separated?
  3. Is there a Figma ↔ code sync pipeline?
  4. Do components consistently apply the composition, controlled, and variant patterns?
  5. Does dark mode switch automatically just by swapping theme tokens?
  6. Are WCAG 2.2 defaults baked in?
  7. Are your Storybook and docs site up to date?
  8. Are tokens stored in DTCG format?
  9. Are contribution and review guidelines documented?
  10. Is there a migration plan from legacy UI to the new DS?
  11. Is the design system actually used in 80%+ of real product surfaces?
  12. Is maintenance ownership clear?

"A good design system is invisible. When the product just feels 'as it should,' the system is working."

— Season 6 Ep 2, Fin.

Comments

No comments yet.

Sign in to leave a comment