All work
Design SystemComponentsTokens

Making our admin dashboard consistent again.

A design system that killed the design debt, got designers and developers on the same page, and let the product ship way faster. Drag the slider to compare.

Before
Overview dashboard after the design system
Overview dashboard before the design system
After

This case study covers how I built a design system for our admin dashboard - the goal was to fix design inconsistencies, speed up work for designers and developers, and make the user experience consistent for everyone who runs their business on it.

The objective

Stop making the same decision twice - one source of truth for design and code.

The product grew, and the inconsistencies grew right along with it. Three designers, one button, four different versions. Engineers rebuilding the same card from scratch every single screen. The whole UI was quietly drifting apart - so I led building a living language of tokens, components and rules that design and engineering could actually trust.

Role
Senior UI/UX Designer
Scope
UI/UX, design system, component library
Team
Design, Frontend, PM
Tools
Figma, Tokens, FigJam
The problem

Four symptoms, one root cause.

  • Inconsistent look - buttons, forms and spacing looked different on every page. The app felt unprofessional and confused users.
  • Slow development - engineers rebuilt the same parts over and over for every new feature, dragging out every release.
  • No single guide - "primary blue" meant three different hex values depending on who you asked.
  • Hard to grow - every new feature made things messier; adding new things without breaking old ones was getting genuinely difficult.

The cost wasn't just aesthetic. Every inconsistency was a decision being remade, a review comment being retyped, and a few more hours lost to rework.

“The goal was never prettier screens. It was to stop making the same decision twice.”

Design system overview - color tokens with contrast ratios, components, calendar and icon set
Foundations

Audit first, then build in layers.

I started by indexing every screen and component in the dashboard's Figma file. The audit surfaced the usual suspects - multiple versions of the same button, duplicate inputs, a dozen greys doing the same job - and pointed exactly at where standardisation would pay off most.

Typography. One typeface, one scale. Inter was selected for its readability, modern appearance and adaptability across platforms.

Typography specimen - Inter typeface
Type scale - font sizes and weights defined for the design system

Colour, as tokens. An official brand palette plus semantic colours for success, error, warning and info - every swatch contrast-checked, all managed centrally so one edit propagates everywhere at once.

Colour styles - brand and semantic palette
Colour styles integrated into design tokens

Spacing & icons. A simple spatial grid decides every distance, and one icon set is used everywhere for the same actions.

Spacing scale and grid rules
Unified icon set
The solution

A component library the whole team could trust.

Built in Figma with nested components, properties and variants. Every component is responsive and constraint-driven, mapped with interactive states (hover, focus, disabled), and categorised clearly - forms, buttons, navigation, tables - so it's easy to browse and adapt.

Component library - core components with variants
Component library - form and navigation components

Buttons got special attention - they're the interface's verbs. A strict hierarchy so users always know the most important next step.

Button styles - hierarchy, sizes and states

Just as important was governance: a lightweight contribution process so the system evolves with the product instead of freezing in place.

Before & after

The Insights dashboard, rebuilt on the system.

Before
Insights dashboard after the design system
Insights dashboard before the design system
After

One type scale, one colour language, consistent components - trust built with modern design principles and accessibility standards intact.

The results

The system became the default way we build.

Designers assembled screens from trusted parts instead of redrawing them; engineers implemented against a shared, documented contract.

~40%
Faster design-to-handoff on new features
1
Source of truth shared by design & engineering
Sharp drop in visual bugs and rework

More subtly, the conversation changed. Reviews stopped being about pixel nitpicks and started being about the actual problem we were solving.

Design SystemUI/UX

Tools used in this project.

Figma Design Tokens Variants & Properties Auto Layout FigJam Contrast Checking Documentation
Takeaway
Design
SystemLessons learned

“A design system is 20% components and 80% getting people to actually use it. It's a product of its own - it needs docs, onboarding and care, and it only pays off when it's the path of least resistance for everyone.”

Bhaskar Jyoti Goswami
Bhaskar Jyoti Goswami
Senior UI/UX Designer
Next project Designing for the Unseen