Design System & B2B Experience

Zing started as one consumer app; then came web funnels, SDK screens inside partner products, a partner portal, and operational dashboards. Each new surface asked the same questions — brand, roles, density, states — and answering them screen by screen stopped scaling. I rebuilt the design system to answer them once.

Design System & B2B Experience — hero
Role
Product Design Lead
Timeline
2021 — Now
Contribution
Design Systems, B2B SDK, Operational UX

Key numbers

What the system carries, and what it changed about shipping.

×4
Screen assembly speed
templates vs a blank frame
~80%
Built from the system
product surfaces, excluding marketing
5
Surfaces, one system
iOS, Android, web, SDK, portal

More surfaces, more inconsistency

As the product grew, the same decisions started appearing in four different contexts. The consumer app needed motivation, habit-building, and polished mobile flows. Growth pages needed speed and reusable conversion blocks. SDK screens needed theming and predictable behavior inside another product. The partner portal needed dense, role-based operational UX.

Designed screen by screen, every new surface drifted: slower to ship, harder to hand off, inconsistent within a quarter. Which decisions should be made once — and which have to stay per-context?

Design System & B2B Experience — More surfaces, more inconsistency

System before screens

I treated the design system as product infrastructure, not a component library: reusable where the decision repeats, flexible where the user context changes.

In practice that meant four layers — foundations, components, patterns, templates — each answering a bigger question than the last: what things look like, how they behave, how a flow works, how a whole surface assembles. A new landing page or a partner dashboard started from a template and inherited every decision below it, instead of starting from a blank frame.

Design System & B2B Experience — System before screens
Design System & B2B Experience — System before screens

A partner-ready design system

B2B SDK pushed the system further. The same product experience had to support Zing defaults and partner-branded versions without redesigning every screen.

We moved the system from visual styles to semantic tokens — an action, a surface, a text role — so a partner rebrand became a token swap. The brand layer changed hands; layout and core behavior stayed ours.

Design System & B2B Experience — A partner-ready design system
Design System & B2B Experience — A partner-ready design system

Operational UX

The partner portal flipped the unit of design: instead of one user completing one workout, multiple roles manage many users — locations, payouts, reports, permissions.

The system grew a second register for that density: predictable tables, filters, role-aware navigation, and empty states that say what is missing and who can fix it. Operational screens earn their keep by being scannable and comparable — the opposite bar from a paywall.

Design System & B2B Experience — Operational UX
Design System & B2B Experience — Operational UX
Design System & B2B Experience — Operational UX
Design System & B2B Experience — Operational UX

What this taught me

A design system pays off in proportion to product complexity. At one surface, it keeps screens consistent. Across many, it is what lets a new surface launch without renegotiating the product language: the system already knows what stays stable, what changes per context, and what day one inherits.