Paisa 2.0 β€” Rupifi's design system
Design system

Paisa 2.0 β€” Rupifi Design System

A token-driven fintech design system rebuilt from Rupifi's original component library into a modern three-tier architecture β€” primitives β†’ semantic tokens (light + dark) β†’ components.

Brand blue, a green-teal accent, and a coral tertiary, on a soft navy ink instead of pure black.

122
primitive color tokens
97
semantic tokens (light+dark)
16
text styles
90
Button variants
54
Icon Button variants
14
component families

How this is organized

Three tiers, same as Figma: primitives (raw ramps) β†’ semantic (role-based, light+dark) β†’ components (consume semantic tokens only β€” never a primitive or a raw hex value).

tokens/generate_tokens.py ← single source of truth, warns on WCAG AA failures tokens/css/tokens.css ← generated CSS custom properties (light + dark) preview/components.css ← component styles, tokens only preview/index.html ← this page

Usage guidelines

Do

  • Use semantic tokens (surface/*, text/*) β€” never raw hex or primitives β€” in components.
  • Reserve status colors (info / success / warning / error / positive) for their defined meaning only.
  • Use radius/control (8) for buttons and inputs, radius/control-compact (16) for the small button.

Don't

  • Don't introduce a second typeface β€” Inter only, vary by weight.
  • Don't use pure black (#000) for text or fills β€” use the navy neutral ink.
  • Don't invent new status hues β€” extend the existing five-role model.
Foundations

Color

Three tiers: primitives (raw ramps) β†’ semantic (role-based, light+dark) β†’ components. Status colors carry fixed fintech meaning.

Status roles

Primitive ramps

Semantic β€” key roles

Foundations

Typography

Inter, one family across weights Extra Light–Semi Bold. No secondary typeface. Button and control labels use Regular; headings and titles use Semi Bold.

Foundations

Spacing & Radius

4px base scale. Buttons and inputs use an 8px radius (16px on the small button); cards use radius/container (32); badges stay tight at 6px.

Spacing scale

Radius scale

Components

Buttons

Three-slot layout β€” leading-edge slot Β· centerGroup (adjacent icon + label + adjacent icon) Β· trailing-edge slot β€” so the label always stays optically centered. Icons inherit the label's color automatically.

Appearance

Terms & conditions Learn more

Icon slots β€” edge vs. adjacent

Sizes

States

Icon Button

Same appearance and size model, square, icon-only. Icon recolors per appearance/state.

Components

Input / Text Field

Label β†’ field (leading/trailing icon + value) β†’ helper/error text. States: default, focus, filled, error, disabled.

Helper text
Helper text
This field has an error
Helper text
Components

Selection Controls

Checkbox (unchecked/checked/indeterminate), Radio, and Switch β€” each with an enabled and disabled state.

Components

Badges & Chips

Badge β€” 8 tones Γ— subtle/solid. Chip β€” large filter chips (unselected/selected/disabled) and small tag chips with a leading icon instead of a dot.

Badges β€” subtle

Badges β€” solid

Filter chips (large)

Tag chips (small)

Components

Feedback

Snackbar β€” subtle tone background with a solid edge bar. Tooltip β€” compact dark label with a directional arrow.

Snackbar

Tooltip

Tooltip text
Tooltip text
Tooltip text
Tooltip text
Components

Dropdown & OTP

Select β€” trigger field with label, value/placeholder, and chevron. OTP β€” 4 and 6 digit entry, with default / focused / filled / error states.

Select

Select an option
Selected option
Select an option

OTP β€” 4 digit

OTP β€” 6 digit

Components

List

List Item β€” leading icon, title + optional subtitle, and trailing chevron. States: default, selected, disabled.

Components

Navigation

Top Nav, Bottom Bar / Tab Item (mobile), and Side Nav (web).

Top Nav

Screen title

Bottom Bar

Side Nav

Components

Bottom Sheet

Composed from Button + Icon Button. Used for confirmations, filters, and quick actions.

Confirm payment
You are about to pay β‚Ή12,500 to Acme Traders using your Rupifi credit line. This action cannot be undone.
Components

Dashboard Header

Web app header composed from Input (search) + Icon Button (notifications) + avatar.

RR
Components

Rupifi AI

Gradient mark for AI-assisted features, blending brand blue, accent teal, and coral tertiary in a fluid radial composition. Provided at 4 sizes.

24px
32px
40px
56px