How to Build a Design System From Scratch (A Practical Guide)
7 min read

How to Build a Design System From Scratch (A Practical Guide)

NewForm Community·September 2, 2026

Post by @kirti_uix, a practical breakdown of how design systems actually get built.

Slide 1

Design systems are one of those topics that sounds intimidating until you realize what they actually are: a shared library of decisions. That's it. Colors, typography, spacing, components, all the things you'd normally redefine on every new project, organized once and reused everywhere.

The problem isn't that design systems are hard. It's that most teams start wrong, they jump into Figma, create a bunch of components, and call it a system. But a system without structure is just a folder of inconsistent components.

Slide 2

Step 1: Audit What You Already Have

Before building anything new, do an inventory. Screenshot every screen in your product. List every color, font size, button style, card variant, spacing value. You'll find duplicates, inconsistencies, and things that exist for no reason.

This audit is your baseline. It tells you what needs to be standardized and what's already working. Skip this step and you'll build a system that nobody adopts because it doesn't match what's already in production.

Slide 3

Step 2: Define Your Design Tokens

Tokens are the foundation. They're named values that store your design decisions:

  • Color tokens: color-primary, color-surface, color-text-muted, not #7C3AED
  • Typography tokens: font-heading, font-body, font-caption, not Inter 24px Bold
  • Spacing tokens: space-sm, space-md, space-lg, not 8px, 16px, 24px
  • Radius tokens: radius-sm, radius-md, radius-lg
  • Shadow tokens: shadow-card, shadow-modal

The naming matters more than the values. When tokens are semantic, designers and developers speak the same language. When they're raw values, you're back to inconsistency.

Slide 4

Step 3: Build Your Core Components

Start with the components that appear on every screen:

  1. Buttons, primary, secondary, ghost, disabled, loading states
  2. Inputs, text, select, checkbox, radio, textarea, error states
  3. Cards, content card, media card, action card
  4. Navigation, tabs, breadcrumbs, pagination
  5. Feedback, toasts, alerts, modals, loaders

Each component should be built from your tokens, not hardcoded values. If a button uses color-primary instead of #7C3AED, changing your brand color updates every button instantly.

Slide 5

Step 4: Document Everything

A design system without documentation is just a Figma file that one person understands. For each component, document:

  • When to use it, and when not to
  • Anatomy, what pieces make it up
  • Variants, all the states and options
  • Do's and don'ts, common mistakes to prevent
  • Code snippet, for developers to copy-paste

Tools like Figma's dev mode and Storybook make this easier, but even a simple Notion page beats no documentation.

Slide 6

Step 5: Roll Out and Maintain

The biggest reason design systems fail is adoption. You build it, send a Slack message, and nobody uses it. Here's how to avoid that:

  • Start small. Get one team using it before rolling out company-wide.
  • Make it the path of least resistance. If it's easier to use the system than to build from scratch, people will use it.
  • Assign an owner. Someone needs to maintain it, review contributions, and keep it updated.
  • Version it. When you make breaking changes, version the system so teams can upgrade on their own timeline.
  • Track adoption. How many screens use system components vs custom ones? That's your north star metric.

The Takeaway

A design system is an investment that compounds. The first month is slower because you're building infrastructure. But by month three, your team ships twice as fast because nobody is reinventing buttons, debating spacing, or guessing at colors.

And if you want to build and test design systems with real, working components, Base44 lets you create functional apps from your designs without writing code, so you can see your system in action.


Originally posted by @kirti_uix on Instagram.

Related on NewForm

Pages from The 8-Prompt Product field guide

FREE FIELD GUIDE

The 8-Prompt Product

Answer 24 questions, run 8 prompts, and walk away this afternoon with a working, beautiful MVP you would be proud to show.

Instant download plus a copy in your inbox. Unsubscribe anytime.

See what's inside

Keep reading

Your Privacy, Your Choice

Control how we use your data

We use essential cookies to run NEWFORM and optional ones to improve analytics, personalization, and marketing. Choose what's okay with you.

Privacy Policy ·