Case Study
Mini Scalable Design System
Mini Scalable Design System
Mini Scalable Design System
A self-initiated exploration into building a lightweight, token-driven design system from scratch — complete with theme support, Figma best practices, and atomic structure.
A self-initiated exploration into building a lightweight, token-driven design system from scratch — complete with theme support, Figma best practices, and atomic structure.



Mini Scalable Design System (Version 1)
Background
Background
Background
In fast-paced startups, building a scalable design system from scratch is rarely the priority. Teams often rely on pre-built UI kits to move quickly and ship features faster.
But I saw an opportunity — a personal challenge:
What if I built one — not for a team, but to sharpen my own system thinking?
Using Figma community kits as a starting point, I designed a token-driven, theme-ready design system from the ground up.
In fast-paced startups, building a scalable design system from scratch is rarely the priority. Teams often rely on pre-built UI kits to move quickly and ship features faster.
But I saw an opportunity — a personal challenge:
What if I built one — not for a team, but to sharpen my own system thinking?
Using Figma community kits as a starting point, I designed a token-driven, theme-ready design system from the ground up.
The Problem
The Problem
The Problem
Even in my past startup experience, I encountered the same recurring issues:
Inconsistent UI elements across different features and modules
No standardized typography, spacing, or interaction states
Developers wasting time interpreting design instead of implementing it
Theme switching handled through hardcoded hacks instead of tokenized updates
These weren’t just visual inconsistencies — they were signs of missing system-level thinking.
So I asked myself: What would it take to build a system that solves these problems from day one?
Even in my past startup experience, I encountered the same recurring issues:
Inconsistent UI elements across different features and modules
No standardized typography, spacing, or interaction states
Developers wasting time interpreting design instead of implementing it
Theme switching handled through hardcoded hacks instead of tokenized updates
These weren’t just visual inconsistencies — they were signs of missing system-level thinking.
So I asked myself: What would it take to build a system that solves these problems from day one?
Goals
Goals
Goals
This project was a deep dive into scalable design systems — not just for aesthetics, but for structure, clarity, and long-term growth.
My goals were to:
Understand and apply token-driven architecture
Practice real-world system design aligned with developer workflows
Explore theme switching using semantic token layers
Build with scalability and reusability at the core
It was less about perfect visuals — and more about building the foundation that makes products faster, cleaner, and easier to scale.
This project was a deep dive into scalable design systems — not just for aesthetics, but for structure, clarity, and long-term growth.
My goals were to:
Understand and apply token-driven architecture
Practice real-world system design aligned with developer workflows
Explore theme switching using semantic token layers
Build with scalability and reusability at the core
It was less about perfect visuals — and more about building the foundation that makes products faster, cleaner, and easier to scale.
Process
Process
Process
I treated this like a real-world design system project, but with the goal of learning through doing — starting from exploration to execution.
I treated this like a real-world design system project, but with the goal of learning through doing — starting from exploration to execution.
Research & Deconstruct
Research & Deconstruct
I began by reading articles, watching videos, and reverse-engineering a few well-known design systems in Figma. This helped me understand common structures, naming conventions, and token strategies used in real-world products. One standout resource that significantly helped me was Untitled UI – FREE Figma UI kit and design system v2.0.
I began by reading articles, watching videos, and reverse-engineering a few well-known design systems in Figma. This helped me understand common structures, naming conventions, and token strategies used in real-world products. One standout resource that significantly helped me was Untitled UI – FREE Figma UI kit and design system v2.0.



Untitled UI – FREE Figma UI kit and design system v2.0
Defining the Foundations & Token Structure
Defining the Foundations & Token Structure
To ensure scalability and flexibility, I created a token architecture with four distinct layers. It started with Brand Tokens, which defined the raw color values — for example, #9333EA
or #16A34A
. On top of that, I introduced Alias Tokens, which added semantic meaning to the raw values (e.g., primary/500
, secondary/400
) to enable context-based usage across components. Then came the Mapped Tokens, which were directly tied to UI elements — such as action-default
or action-hover
— making them easier to maintain and theme. Finally, I added Responsive Tokens, for Desktop and Mobile, to ensure the system adapted seamlessly across breakpoints and screen sizes.
To ensure scalability and flexibility, I created a token architecture with four distinct layers. It started with Brand Tokens, which defined the raw color values — for example, #9333EA
or #16A34A
. On top of that, I introduced Alias Tokens, which added semantic meaning to the raw values (e.g., primary/500
, secondary/400
) to enable context-based usage across components. Then came the Mapped Tokens, which were directly tied to UI elements — such as action-default
or action-hover
— making them easier to maintain and theme. Finally, I added Responsive Tokens, for Desktop and Mobile, to ensure the system adapted seamlessly across breakpoints and screen sizes.



Brand Tokens: Foundational Colors & Typography Setup for Scalable UI



Alias Tokens: Semantic Layer Built on Top of Brand Colors



Mapped Tokens: Theme-Aware Tokens for UI Surfaces and States



Responsive Tokens: Typography That Adapts Across Breakpoints
Component System
Component System
Component System
With the token architecture in place, I built a modular component library focused on consistency, flexibility, and scalability.
I started with high-usage components: buttons, inputs, and dropdowns — all designed using Figma variants, auto-layout, and tokenized styling.
Each component:
Supports multiple states (default, hover, active, disabled, error, success)
References mapped tokens for colors, spacing, and type
Responds instantly to theme switching without overrides
Buttons shift between styles (primary, secondary, outlined) via a simple property toggle, while all visuals update through tokens.
With the token architecture in place, I built a modular component library focused on consistency, flexibility, and scalability.
I started with high-usage components: buttons, inputs, and dropdowns — all designed using Figma variants, auto-layout, and tokenized styling.
Each component:
Supports multiple states (default, hover, active, disabled, error, success)
References mapped tokens for colors, spacing, and type
Responds instantly to theme switching without overrides
Buttons shift between styles (primary, secondary, outlined) via a simple property toggle, while all visuals update through tokens.



Responsive Tokens: Typography That Adapts Across Breakpoints
Theme Switching (Light/Dark Mode)
Theme Switching (Light/Dark Mode)
Theme Switching (Light/Dark Mode)
Thanks to the layered token system, implementing theme switching became seamless. Instead of overriding component styles or maintaining separate design files, I simply mapped alias and mapped tokens to their corresponding values for light and dark modes.
For example:
surface/page
points toNeutral/white
in light mode andNeutral/800
in dark mode.design components automatically updates based on the active theme.
One token update = full theme change — with no need to manually edit components.
This setup also made it easy to preview and maintain visual consistency across themes, making the system both developer- and designer-friendly.
Thanks to the layered token system, implementing theme switching became seamless. Instead of overriding component styles or maintaining separate design files, I simply mapped alias and mapped tokens to their corresponding values for light and dark modes.
For example:
surface/page
points toNeutral/white
in light mode andNeutral/800
in dark mode.design components automatically updates based on the active theme.
One token update = full theme change — with no need to manually edit components.
This setup also made it easy to preview and maintain visual consistency across themes, making the system both developer- and designer-friendly.
Token-Driven Theme Switching Demo
Learnings & Reflections
Learnings & Reflections
Learnings & Reflections
This wasn’t just a design system — it was a thinking system.
I built this to push myself beyond screens, to think in architecture, and to approach product design with clarity, structure, and developer collaboration.
Everything was structured as if it were going to ship — and it could.
This wasn’t just a design system — it was a thinking system.
I built this to push myself beyond screens, to think in architecture, and to approach product design with clarity, structure, and developer collaboration.
Everything was structured as if it were going to ship — and it could.
Akash Basu
©
Akash Basu
2024
Akash Basu
©
Akash Basu
2024