Chexy Design System

We built a shared design system across React and React Native to align the product team. The goal was to establish clear guardrails so PMs and engineers could prototype independently while we scaled the design team from one to three.

Team
Role
Christine Ung
Lead Designer
Dela Bahmani
Lead Engineer
Polly Yang
Product Designer

Without a single source of truth, we dealt with inconsistent UI, visual QA bottlenecks, and too much time spent debating subjective design choices.

Colour ramps
Hover a swatch for its token and hex
Paper
Purple
Gold
Sky
Green
Red

Approach

By introducing shared architectural patterns across two codebases, the team shifted from chaotic execution to unified velocity. The system serves as cross-functional leverage rather than a bottleneck. It sets strict taste guardrails that empower product managers and engineers to build quickly while elevating the overall craft.

Tokens in use
AaAaAa

Every payment earns you something

Pay the bills you already have and collect rewards on every one of them.

1
Surfaces
A section on background/primary sits on a background/secondary surface.
2
Type colour
The headline is text/primary, its supporting copy text/secondary.
3
Weights
Three ship — Regular (400), Medium (500) and Bold (700).
Stroke
stroke/primary
Paper/850
The lightest default border and divider — the most common stroke.
stroke/secondary
Paper/800
A slightly stronger default, for more separation.
stroke/tertiary
Paper/700
The strongest neutral divider, for the clearest separation between rows.
stroke/input
Paper/700
Form field borders at rest.
stroke/input-focus
Purple/400
Form field borders when focused — the one 2px stroke.
stroke/input-error
Red/400
Form field borders in an error or critical state.

Brand personality lives in the seconds between screens.

Loading screen
9:41
Verifying your identity
Success screen
Payment resolved
Your PAD withdrawal has been connected to your payment.
Continue
Maybe later

A marketing engine

Bill reminders, partner promos and rewards offers are the same hero and rail in four colourways, so a campaign ships by choosing a fill, a title and a partner mark rather than by drawing a new surface each time. Personalized promotional cards drove ~18% clickthrough, and can be toggled throughout the dashboard, payment, and other relevant flows.

Marketing card · hero
Free mortgage Mondays

You’re in with 400 entries. Invite friends to add more.

View details
A door tied with a ribbon and bow, like a present.
Marketing card · colourways
GST/HST due
The Q2 due date is here
A desk calendar turned to a due date.
Invoicing
Send a link to get paid
A carrier pigeon in a tie, holding a stack of letters.
Incoming 1.5%
You're two friends away
A tandem bicycle with one rider and two empty, dotted-outline seats.
Mortgage
Now earning Aeroplan points
Air Canada
A house floating under a parachute, a figure hanging from it.
1
Partner mark
A 36px tile in the partner's brand colour, notched into the card's bottom-right corner.

Scale

To support fast-growing surfaces like wallets and checking accounts, the system was built to adapt rather than stay rigid. I applied a fluid workflow tailored to problem ambiguity: paper for strategic discovery, Figma for wireframing, and AI for research distillation and motion prototyping in code. By treating the design system as flexible infrastructure, we created a foundation that effortlessly absorbs new business lines.

Motion prototype