SK.
Sagar Kumar
Portfolio · © 2026
All Work
Design System · PayU · 2023

Building PayU's
First Design System

A unified component library and token system that transformed how 50+ designers and developers at PayU shipped product — from inconsistent interfaces to a single source of truth.

My Role
Lead Designer
Platform
Figma · Zeroheight
Duration
6 Months · 2022–2023
Team
3 Designers · 2 Front-end Devs
Scope
Research → Tokens → Components
Final Designs
PayU Design System
30+
Reusable components built across web, mobile, and admin interfaces
40+
User flows and process flowcharts mapped to component usage
600+
Hours invested in research, architecture, and systematic design thinking
01
The Product

PayU is a leading fintech company serving merchants across South Asia, Latin America, and Europe — processing millions of transactions daily across web and mobile platforms.

As one of India's most widely used payment gateway providers, PayU's product suite spans merchant dashboards, consumer apps, B2B integrations, and admin tools. The sheer scale of the product — built over a decade with multiple teams — had resulted in fragmented, inconsistent UI across products.

My mandate was to design and implement PayU's first unified design system: a shared language across products, from raw design tokens to fully documented, production-ready components.

02
Need of Revamp

Years of product growth without a unified system had left PayU's UI fragmented — each team building components independently.

Designer interviews, codebase audits, and stakeholder conversations revealed a consistent pattern: developers were re-implementing the same components over and over, QA was catching visual regressions on every release, and designers couldn't hand off specs with confidence. The cost was enormous — in time, in inconsistency, and in user trust.

No Shared Component Library
Each product team maintained their own Figma files with duplicated components, leading to inconsistent UI patterns across the platform.
Inconsistent Visual Language
Colors, spacing, and typography varied significantly between products — 6+ different button styles, 4 navbar patterns, and no shared color palette.
Redundant Development Effort
Front-end engineers were rebuilding the same components repeatedly, with no reusable code base or design-to-dev handoff standard.
Missing Design Tokens
No structured token system existed for spacing, radii, or elevation — making dark mode, theming, and product-level customisation near impossible.
Slow Design-to-Dev Handoff
Without a shared reference, every spec review was a back-and-forth negotiation. Average handoff took 2–3× longer than industry benchmark.
Accessibility Gaps
No contrast checks, focus states, or ARIA guidelines were enforced at the component level — leaving the product exposed to compliance risk.
03
Scope & Plan

The project was structured in four phases over 6 months — each building on the last. We used a "crawl → walk → run" approach, starting with tokens before touching a single component.

Research & Audit
  • UI component audit across all products
  • Designer + dev interviews (n=12)
  • Competitive benchmarking
  • Stakeholder alignment workshop
  • Accessibility compliance review
Token Foundation
  • Color primitives + semantic tokens
  • Typography scale definition
  • Spacing system (4px base unit)
  • Elevation + shadow tokens
  • Border radius + grid tokens
Component Library
  • 30+ Figma components built
  • Variant + state documentation
  • Auto-layout + responsive specs
  • Dev handoff annotations
  • Zeroheight documentation
Adoption & Scale
  • Team onboarding sessions
  • Contribution guidelines
  • Pattern library + flowcharts
  • Design system governance
  • Versioning + changelog
04
Research & Planning
Component Audit
Visual Inventory Across Products
Catalogued 240+ unique UI elements across 6 PayU products. Found 18 unique button styles, 9 form input variants, and zero shared icon libraries — all contributing to visual inconsistency.
User Interviews
Designers & Developers (n=12)
Interviewed 8 designers and 4 developers about their current workflow. 10/12 cited "inconsistency between Figma and code" as their #1 pain point. Average handoff cycle was 4 days per component.
Benchmarking
Industry Design Systems Studied
Analysed Material Design, Atlassian Design System, Salesforce Lightning, Carbon (IBM), and Razorpay Blade — extracting best practices in token naming, component architecture, and documentation.
Workshop
Stakeholder Alignment
Ran a 3-hour cross-functional workshop with PMs, designers, and engineering leads to align on system goals, prioritisation criteria, and adoption strategy before any components were designed.
Accessibility
WCAG 2.1 Compliance Audit
Checked all existing UI against WCAG 2.1 AA standards. Found 34 contrast failures, 12 missing focus states, and 0 ARIA label standards in the component codebase.
Documentation
Defining Contribution Standards
Established criteria for what qualifies as a "system-ready" component: 3+ use cases across products, WCAG compliance, responsive spec, dev handoff annotation, and variant documentation.
05
Priority Matrix

With 240+ elements audited, we needed a clear prioritisation framework. We plotted components on an Impact vs. Effort matrix to determine sequencing — starting with high-impact, low-effort "quick wins" that would demonstrate value fast.

🚀 High Impact · Low Effort — Ship First
Color Tokens Typography Scale Button Component Input Fields Icon Library
🎯 High Impact · High Effort — Plan Carefully
Navigation System Data Tables Form System Dark Mode Tokens
⚡ Low Impact · Low Effort — Fill Gaps
Tooltips Badges Dividers Spacing Tokens
⏳ Low Impact · High Effort — Defer
Data Viz Library Animation System Custom Charts
← LOW IMPACT HIGH IMPACT →
06
Research Findings
01
Engineers re-implemented components 3.2× on average
Component audits found that every major UI element (buttons, forms, modals) had been implemented 3–5 times across different product repos, with slight variations each time — creating maintenance overhead and visual drift.
02
Onboarding a new designer took 2+ weeks
Without a centralised library, new designers had to reverse-engineer existing Figma files to understand "how things were done." The average ramp-up time to first meaningful contribution was 15 days.
03
57% of design review time was spent on visual inconsistencies
A 2-week sprint review log analysis showed that over half of design review feedback was about inconsistencies a shared system would have prevented — not new ideas, just fixing drift.
04
Zero WCAG-compliant components existed pre-system
An accessibility audit confirmed that no component in the pre-existing Figma libraries had been tested against WCAG 2.1 AA contrast ratios, focus state requirements, or keyboard navigation patterns.
05
8 different colour values used as "primary orange"
A colour audit found 8 distinct hex values used for PayU's signature orange across the product — ranging from #FF5C1E to #F04A0E. None were consistent with the brand guidelines document.
06
Designers wanted "guardrails, not restrictions"
A recurring theme from designer interviews: they didn't want a rigid system that limited creativity, but a strong token foundation and opinionated components that gave them a starting point — not a ceiling.
07
Defining the Problem
How Might We
How might we create a scalable, token-driven design system that gives PayU's product teams a shared visual language — reducing inconsistency, accelerating delivery, and making accessibility a default rather than an afterthought?

What success looks like

A designer should be able to open any Figma file, find the component they need in under 30 seconds, know it's correct, accessible, and approved — and hand it off to a developer who can implement it without a single back-and-forth clarification.

Constraints to design around

The system had to work within existing brand guidelines, be backward-compatible with live products, support dark mode from day one, and be maintainable by a small team without dedicated engineering resources.

08
Designing Components
Token Layer 01
Color System
3 palettes · 8 steps each
Primary Color — PayU Green
green-10#f7fcfc
green-50#e7f3f1
green-100#b5dad3
green-400#41a18d
Main Color
green-500#10846d
green-700#0c6150
green-800#094b3e
green-900#0e342c
Secondary Color — Yellow
yellow-10#fcfcf7
yellow-50#fbf8ea
yellow-100#f4e8bd
yellow-400#e2c354
Main Color
yellow-500#dbb429
yellow-700#9b801d
yellow-800#786317
yellow-900#4a3c0a
Secondary Color — Red
red-10#fff5f5
red-50#fee2e2
red-100#fecaca
red-400#f87171
Main Color
red-500#ef4444
red-700#dc2626
red-800#b91c1c
red-900#7f1d1d
Token Layer 02
Typography Scale
8 type steps · 2 font families
display-2xl
Display
48px / 800
display-xl
Heading 1
36px / 700
heading-lg
Heading 2
28px / 700
heading-md
Heading 3
22px / 600
body-lg
Body Large — default prose size
17px / 400
body-md
Body Medium — secondary text
15px / 400
label-sm
Label / Caption
13px / 500
mono-xs
Overline / Code
11px mono
Token Layer 02b
Font Families
2 families · 8 weights
Primary Typeface
Poppins
Geometric
Sans-Serif
Light 300
Regular 400
Medium 500
SemiBold 600
Bold 700
ExtraBold 800
Headings Buttons Body Copy Navigation
Monospace Typeface
DM Mono
Fixed-Width
Mono
Light 300
Regular 400
Medium 500
AMOUNT: ₹1,24,500.00 Data
TXN-2024-00389401 ID
Transaction IDs Amounts Overlines Code Snippets
Live Type Anatomy
Transaction
Summary
Your payments, settlements and payouts — in one place.
Total Volume
₹48,23,140.00
↑ 12.4% vs last month
Success Rate
94.7%
Token Layer 02c
Iconography
Custom icon library · 4 sizes
Icon Size Scale
16px
Inline
20px
Default
24px
Nav / CTA
32px
Feature
Style Guide
2px stroke weight
Round line-cap & join
24×24 viewBox
Optical corrections applied
Navigation
home
analytics
settings
menu
Actions
add
delete
edit
download
Finance
card
currency
transfer
invoice
Status
success
error
warning
info
✓ Do
  • Use 2px stroke for all icons at 20–24px
  • Pair icon with a label for accessibility
  • Use green-500 for active / selected state
  • Align to 4px grid at all sizes
✗ Don't
  • Mix outline and filled icons in the same view
  • Scale icons to non-standard sizes (e.g. 18px)
  • Use icons without sufficient touch target (min 44px)
  • Apply multiple colors to a single icon
Token Layer 03
Spacing Tokens
Base 4px unit · 10 steps
space-1
4px
space-2
8px
space-3
12px
space-4
16px
space-5
20px
space-6
24px
space-8
32px
space-10
40px
space-12
48px
space-16
64px
Token Layer 04
Layout Grids
3 breakpoints · adaptive columns
Desktop — 12 Columns · 24px Gutter
Tablet — 8 Columns · 20px Gutter
Mobile — 4 Columns · 16px Gutter
Admin / Dense — 16 Columns · 16px Gutter
Component Library
30+ Components Shipped
Button
Input Field
Dropdown Select
Checkbox
Radio Button
Toggle Switch
Modal Dialog
Toast / Alert
Tooltip
Badge
Tag / Chip
Breadcrumb
Pagination
Navigation Bar
Sidebar Nav
Tab Bar
Data Table
Card
Avatar
Icon System
Progress Bar
Skeleton Loader
Empty State
Form Layout
Search Bar
Date Picker
Stepper
Accordion
Divider
Stat Card
Status Indicator
Detailed Documentation
Component Specifications
Buttons
Button Types
Buttons play a crucial role in guiding user interactions across the PayU platform.
Default 40px
For primary actions and CTAs
Medium 32px
Paired with input fields
Small 24px
Limited vertical space contexts
Selection Controls
Toggle Switch
Toggle Active
Toggle Inactive
Checkboxes
Unchecked
Checked
Intermediate
Radio Button
On Active
Off Active
Off Disabled
Navigation
Side Navigation
Business Summary
Transactions
Settlements
Reports
Payment Products
Payment Tools ↓
Header — Desktop
Payments ↓
Live Mode ↓
Tags, Chips & Badges
Light Mode
Chip
Chip
Active Status
Dark Mode
Chip Active NEW
Badges
+8
Blue
+8
Amber
+8
Teal
+8
Violet
Modal & Popups
Process Successful
Operation completed without errors.
Process Failed
An error occurred. Please try again.
!
System Warning
Review before proceeding.
Range Selector
With Single Nod
Range Category
₹00₹100
With Dual Nod
Range Category
₹00₹100
Design System in Action
New Product Look
We applied the design system to redesign the PayU dashboard and mobile app end-to-end.
PayU Design System — Business Summary Page
PayU Design System — Transaction Page
PayU Design System — Settings Page
09
Outcomes
40%
Reduction in design-to-dev handoff time across all product teams
Faster onboarding for new designers joining PayU
100%
WCAG 2.1 AA compliance for all shipped components
8→1
Colour values for "primary orange" unified into a single token
Explore More Work
See all projects →
Back to All Work