Esperia

Design System

Introduction

Built the token architecture, component library, contribution process, and responsive system for Esperia Platform Unit — cutting handoff time by 3×, shipping 40+ components across six modules, and enabling three theme modes via token rebind alone.

Shipped

Senior Product Designer

5 months

Enterprise SaaS

4 Designers

Enterprise SaaS

4 Designers

5 months

Enterprise SaaS

4 Designers

Project Overview

Esperia's design organisation had spent years shipping product features, but inconsistency in shared foundation existed beneath them. Components were duplicated across different applications, token discipline was absent, and three competing greys lived in production simultaneously. The design system needed to be built, governed, and adopted without stopping the product org.


The Approach

I designed the end-to-end token architecture, component library, and contribution governance for Esperia Platform Unit, built a two-tier Global → Semantic variable system, established a 4 step component contribution process (EDS), designed 40 + production components across each modules with full state coverage and responsive specs, and shipped a living Storybook reference with 100% design–dev token parity.

The outcome

All the modules adopted the system. Component handoff to engineering is 3× faster, support tickets from configuration confusion dropped 68%, and platform NPS climbed from +8 to +44 within six months of rollout.

259

Global Tokens

131

Semantic Tokens

2+1

Theme Modes

40+

Components Shipped

MY CONTRIBUTION

Shaping a System That Scales

As part of a five member Design System team, I audited and rationalised existing components, identifying opportunities to reduce complexity and improve consistency across products. I led the design of complex, high-impact components, defined responsive standards across domains, and created mobile patterns that scaled across use cases. Through component ownership, validation in production environments, and detailed documentation, I helped strengthen system adoption and enable more efficient product development.

Components

Audited, optimised & scaled complex components

Production tested and validated in live products.

RESPONSIVE PATTERNS

Established reusable patterns across web and mobile

Designed for multi-domain scalability

GOVERNANCE & DOCS

Published documentation that enabled adoption and consistency

Shared through EDS as a single source of truth

existing Research

Problems - Fill in the Gaps

These were the the challenges Independent product decisions created inconsistencies across components, themes, and responsive experiences, making the platform difficult to scale.

01

No shared token layer

Each squad maintained its own colour definitions. Three competing greys in production. Zero shared spacing, radius, or colour primitives across six modules.

Impact

47 heuristic issues catalogued

02

Multi-theme impossible by design

Switching from Dark to Light required repainting every component by hand. No semantic variable layer existed, theme was baked into hardcoded hex values everywhere.

Impact

100% manual effort per theme switch

03

Component fragmentation across modules

Core components were recreated across teams with different styles, behaviors, and responsive patterns, making consistency difficult to maintain.

Impact

Duplicate design & dev effort

04

Developer–designer desync

Handoffs were screenshot-based. Storybook was empty. No source of truth existed between what was designed in Figma and what shipped in production code.

Impact

No design–dev parity anywhere

05

Responsive system undefined

No breakpoint system. Each of the six squads made independent layout decisions at tablet and mobile widths, producing six divergent user experiences.

Impact

6 inconsistent experiences

dISCOVERY

What the audit uncovered.

Before any component was designed, a structured audit ran across the existing platform, heuristic evaluation, and competitive analysis - to baseline the problem and prioritise the rebuild.

47

Heuristic issues catalogued

Across Critical, High, Medium, Low severities

18

User interviews conducted

Across 3 personas · 6 enterprise clients

08

Competing platforms evaluated

Databricks, Snowflake, Alation, Collibra + 4 others

03

Competing grey values

Across 6 squads with no shared token

Token Architecture

Global & Semantic. Two tiers. Three themes.

Global tokens hold raw values — 259 variables covering all colours, spacing, radius, and sizes. Semantic tokens (131 aliases) are what components consume. Switching themes means rebinding Semantic → Global — components never change.

Dark: Default - dark navy ground, violet accent, neon green signals.

Light: High contrast for consumer-facing dashboards. AA validated.

Pretty in Pink: For verification of components - pink mapped to every semantic surface via token rebind only.

DESIGN TOKEN PIPELINE

Design tokens colors, typography, spacing, and shadows are defined in Figma, exported as JSON, version controlled in GitHub, and transformed via Style Dictionary into platform ready outputs for Web, iOS, and Android. One source of truth, consistent across every platform.

Design Tokens

Colors

Typography

Aa

Opacity

Spacing

Sizing

Shadow

Figma

JSON Format

GitHub

Style Dictionary

Web

Tailwind

iOS

Swift

Android

XML

Operationalising the System

System in Action

Beyond principles how the design system was kept alive day to day across all the squads, keeping teams aligned and components consistent as the product scaled..

Centralised Discussion & Tracking

A single go-to place for designers and devs to report bugs, clarify doubts, and align on system updates. Through JIRA and a designer is assigned to scope and own it.

Brainstorm & collaborate approval

Ideate the component, then align with UX, content design, and PLM for feedback and sign-off before build.

Publish component on EDS

Make the component part of the EDS library-tokens applied, variants and states complete, Accessibility checked, documentation written.

And assign to dev for Storybook publish.

Team-wide Transparency

Real-time visibility into component progress across teams helped prevent silos and miscommunication.


Component Library

Complex Components

Each component represents a resolution to a specific user frustration shipped with a full contract: usage guidelines, states, responsive specs, and a versioned change-log.

Data Block

DATA bLOCK

High-density tabular display handling multi-state data. Feature use for setting bandwidth frequency. Validated before each Storybook publication.

States

8 — loading, error, empty, hover, selected, editing, readonly, deprecated

Themes

Dark / Light / Pretty in Pink

Responsive

Stacked cards ≤768px; horizontal scroll ≤480px

Port Diagram

PORT DIAGRAM

Net new component category invented for network infrastructure visualization. Required defining a visual language for port density, connection states, and signal health from scratch.

Signal language

Green = active · Purple = reserved · Grey = offline

Interoperability

Slot API so teams can inject custom port metadata

Responsive

Density-adaptive at tablet; scroll-locked at mobile

Responsive System

One system, Three breakpoints.

Responsive behaviour was undefined at project start, each squad made independent layout decisions. The system defines breakpoint behaviour as part of the component contract. Components adapt - they don't just shrink.

≥ 1440px

Desktop

Full panel layouts, sidebars visible, dense data grids

768–1439px

Tablet

Sidebars collapse to tabs, grids reduce columns, drawers replace split panels

< 768px

Mobile

List-first, bottom sheets, floating AI chat, horizontal scroll for dense tables

Page Template

Breakpoints & Specifications

Modules Sample

Screen samples for different modules and its complex components

impact

Measured at 6 months post-launch.

Across pilot enterprise clients in financial services, logistics, and healthcare.

Faster component handoff to engineering

40+

Production components across 6 modules

+44

Platform NPS post-system rollout

↓ 68%

Support tickets from configuration confusion

100%

Design–dev token parity via Storybook

2 + 1

Theme modes shipping on day one

↓ 68%

Support tickets from configuration confusion

Take Away

Honest Retrospective

What worked

Token first meant theme switching was trivial, no repainting, just rebind.

9-step EDS eliminated ambiguous handoffs with a clear owner at every gate.

Figma file structure mirroring squads removed a full layer of translation from every handoff.

Responsive behaviour defined at component level prevented six squads from diverging.

What I'd change

Underestimated migration cost, existing components onto tokens took 2× longer than greenfield.

Documentation was added after build. It should be an EDS gate itself.longer than greenfield.

Responsive specs written after desktop designs should be concurrent from the start.

Accessibility audits should happen at component level, not after module integration.

What I'd take further

Automate token → code sync via Figma Variables + Style Dictionary.

Component health dashboard, usage, last updated, open issues visible to all squads.

Extend Port Diagram into a full network state vocabulary for the lineage graph module.

Responsive preview in Storybook: all three breakpoints side by side per story.

Esperia

Design System

Introduction

Built the token architecture, component library, contribution process, and responsive system for Esperia Platform Unit — cutting handoff time by 3×, shipping 40+ components across six modules, and enabling three theme modes via token rebind alone.

Shipped

Senior Product Designer

5 months

Enterprise SaaS

4 Designers

Enterprise SaaS

4 Designers

5 months

Enterprise SaaS

4 Designers

Project Overview

Esperia's design organisation had spent years shipping product features, but inconsistency in shared foundation existed beneath them. Components were duplicated across different applications, token discipline was absent, and three competing greys lived in production simultaneously. The design system needed to be built, governed, and adopted without stopping the product org.


The Approach

I designed the end-to-end token architecture, component library, and contribution governance for Esperia Platform Unit, built a two-tier Global → Semantic variable system, established a 4 step component contribution process (EDS), designed 40 + production components across each modules with full state coverage and responsive specs, and shipped a living Storybook reference with 100% design–dev token parity.

The outcome

All the modules adopted the system. Component handoff to engineering is 3× faster, support tickets from configuration confusion dropped 68%, and platform NPS climbed from +8 to +44 within six months of rollout.

259

Global Tokens

131

Semantic Tokens

2+1

Theme Modes

40+

Components Shipped

MY CONTRIBUTION

Shaping a System That Scales

As part of a five member Design System team, I audited and rationalised existing components, identifying opportunities to reduce complexity and improve consistency across products. I led the design of complex, high-impact components, defined responsive standards across domains, and created mobile patterns that scaled across use cases. Through component ownership, validation in production environments, and detailed documentation, I helped strengthen system adoption and enable more efficient product development.

Components

Audited, optimised & scaled complex components

Production tested and validated in live products.

RESPONSIVE PATTERNS

Established reusable patterns across web and mobile

Designed for multi-domain scalability

GOVERNANCE & DOCS

Published documentation that enabled adoption and consistency

Shared through EDS as a single source of truth

existing Research

Problems - Fill in the Gaps

These were the the challenges Independent product decisions created inconsistencies across components, themes, and responsive experiences, making the platform difficult to scale.

01

No shared token layer

Each squad maintained its own colour definitions. Three competing greys in production. Zero shared spacing, radius, or colour primitives across six modules.

Impact

47 heuristic issues catalogued

02

Multi-theme impossible by design

Switching from Dark to Light required repainting every component by hand. No semantic variable layer existed, theme was baked into hardcoded hex values everywhere.

Impact

100% manual effort per

theme switch

03

Component fragmentation across modules

Core components were recreated across teams with different styles, behaviors, and responsive patterns, making consistency difficult to maintain.

Impact

Duplicate design &

dev effort

04

Developer–designer desync

Handoffs were screenshot-based. Storybook was empty. No source of truth existed between what was designed in Figma and what shipped in production code.

Impact

No design–dev parity

anywhere

05

Responsive system undefined

No breakpoint system. Each of the six squads made independent layout decisions at tablet and mobile widths, producing six divergent user experiences.

Impact

6 inconsistent experiences

dISCOVERY

What the audit uncovered.

Before any component was designed, a structured audit ran across the existing platform, heuristic evaluation, and competitive analysis - to baseline the problem and prioritise the rebuild.

47

Heuristic issues catalogued

Across Critical, High, Medium, Low severities

18

User interviews conducted

Across 3 personas · 6 enterprise clients

08

Competing platforms evaluated

Databricks, Snowflake, Alation, Collibra + 4 others

03

Competing grey values

Across 6 squads with no shared token

Token Architecture

Global & Semantic. Two tiers. Three themes.

Global tokens hold raw values — 259 variables covering all colours, spacing, radius, and sizes. Semantic tokens (131 aliases) are what components consume. Switching themes means rebinding Semantic → Global — components never change.

Dark: Default - dark navy ground, violet accent, neon green signals.

Light: High contrast for consumer-facing dashboards. AA validated.

Pretty in Pink: For verification of components - pink mapped to every semantic surface via token rebind only.

DESIGN TOKEN PIPELINE

Design tokens colors, typography, spacing, and shadows are defined in Figma, exported as JSON, version controlled in GitHub, and transformed via Style Dictionary into platform ready outputs for Web, iOS, and Android. One source of truth, consistent across every platform.

Design Tokens

Colors

Typography

Aa

Opacity

Spacing

Sizing

Shadow

Figma

JSON Format

GitHub

Style Dictionary

Web

Tailwind

iOS

Swift

Android

XML

Operationalising the System

System in Action

Beyond principles how the design system was kept alive day to day across all the squads, keeping teams aligned and components consistent as the product scaled..

Centralised Discussion & Tracking

A single go-to place for designers and devs to report bugs, clarify doubts, and align on system updates. Through JIRA and a designer is assigned to scope and own it.

Brainstorm & collaborate approval

Ideate the component, then align with UX, content design, and PLM for feedback and sign-off before build.

Publish component on EDS

Make the component part of the EDS library-tokens applied, variants and states complete, Accessibility checked, documentation written.

And assign to dev for Storybook publish.

Team-wide Transparency

Real-time visibility into component progress across teams helped prevent silos and miscommunication.


Component Library

Complex Components

Each component represents a resolution to a specific user frustration shipped with a full contract: usage guidelines, states, responsive specs, and a versioned change-log.

Data Block

DATA bLOCK

High-density tabular display handling multi-state data. Feature use for setting bandwidth frequency. Validated before each Storybook publication.

States

8 — loading, error, empty, hover, selected, editing, readonly, deprecated

Themes

Dark / Light / Pretty in Pink

Responsive

Stacked cards ≤768px; horizontal scroll ≤480px

Port Diagram

PORT DIAGRAM

Net new component category invented for network infrastructure visualization. Required defining a visual language for port density, connection states, and signal health from scratch.

Signal language

Green = active · Purple = reserved · Grey = offline

Interoperability

Slot API so teams can inject custom port metadata

Responsive

Density-adaptive at tablet; scroll-locked at mobile

Responsive System

One system, Three breakpoints.

Responsive behaviour was undefined at project start, each squad made independent layout decisions. The system defines breakpoint behaviour as part of the component contract. Components adapt - they don't just shrink.

≥ 1440px

Desktop

Full panel layouts, sidebars visible, dense data grids

768–1439px

Tablet

Sidebars collapse to tabs, grids reduce columns, drawers replace split panels

< 768px

Mobile

List-first, bottom sheets, floating AI chat, horizontal scroll for dense tables

Page Template

Breakpoints & Specifications

Modules Sample

Screen samples for different modules and its complex components

impact

Measured at 6 months post-launch.

Across pilot enterprise clients in financial services, logistics, and healthcare.

Faster component

handoff to engineering

40+

Production components

across 6 modules

+44

Platform NPS post-

system rollout

↓ 68%

Support tickets from configuration confusion

100%

Design–dev token

parity via Storybook

2 + 1

Theme modes shipping

on day one

↓ 68%

Support tickets from

configuration confusion

Take Away

Honest Retrospective

What worked

Token first meant theme switching was trivial, no repainting, just rebind.

9-step EDS eliminated ambiguous handoffs with a clear owner at every gate.

Figma file structure mirroring squads removed a full layer of translation from every handoff.

Responsive behaviour defined at component level prevented six squads from diverging.

What I'd change

Underestimated migration cost, existing components onto tokens took 2× longer than greenfield.

Documentation was added after build. It should be an EDS gate itself.longer than greenfield.

Responsive specs written after desktop designs should be concurrent from the start.

Accessibility audits should happen at component level, not after module integration.

What I'd take further

Automate token → code sync via Figma Variables + Style Dictionary.

Component health dashboard, usage, last updated, open issues visible to all squads.

Extend Port Diagram into a full network state vocabulary for the lineage graph module.

Responsive preview in Storybook: all three breakpoints side by side per story.

Esperia

Design

System

Introduction

Built the token architecture, component library, contribution process, and responsive system for Esperia Platform Unit — cutting handoff time by 3×, shipping 40+ components across six modules, and enabling three theme modes via token rebind alone.

Shipped

Senior Product Designer

5 months

Enterprise SaaS

4 Designers

Enterprise SaaS

4 Designers

5 months

Enterprise SaaS

4 Designers

Project Overview

Esperia's design organisation had spent years shipping product features, but inconsistency in shared foundation existed beneath them. Components were duplicated across different applications, token discipline was absent, and three competing greys lived in production simultaneously. The design system needed to be built, governed, and adopted without stopping the product org.

The Approach

I designed the end-to-end token architecture, component library, and contribution governance for Esperia Platform Unit, built a two-tier Global → Semantic variable system, established a 4 step component contribution process (EDS), designed 40 + production components across each modules with full state coverage and responsive specs, and shipped a living Storybook reference with 100% design–dev token parity.

The outcome

All the modules adopted the system. Component handoff to engineering is 3× faster, support tickets from configuration confusion dropped 68%, and platform NPS climbed from +8 to +44 within six months of rollout.

259

Global Tokens

131

Semantic Tokens

2+1

Theme Modes

40+

Components Shipped

MY CONTRIBUTION

Shaping a System That Scales

As part of a five member Design System team, I audited and rationalised existing components, identifying opportunities to reduce complexity and improve consistency across products. I led the design of complex, high-impact components, defined responsive standards across domains, and created mobile patterns that scaled across use cases. Through component ownership, validation in production environments, and detailed documentation, I helped strengthen system adoption and enable more efficient product development.

Components

Audited, optimised & scaled complex components

Production tested and validated in live products.

RESPONSIVE PATTERNS

Established reusable patterns across web and mobile

Designed for multi-domain scalability

GOVERNANCE & DOCS

Published documentation that enabled adoption and consistency

Shared through EDS as a single source of truth

existing Research

Problems - Fill in the Gaps

These were the the challenges Independent product decisions created inconsistencies across components, themes, and responsive experiences, making the platform difficult to scale.

01

No shared token layer

Each squad maintained its own colour definitions. Three competing greys in production. Zero shared spacing, radius, or colour primitives across six modules.

Impact

47 heuristic issues catalogued

02

Multi-theme impossible by design

Switching from Dark to Light required repainting every component by hand. No semantic variable layer existed, theme was baked into hardcoded hex values everywhere.

Impact

100% manual effort per

theme switch

03

Component fragmentation across modules

Core components were recreated across teams with different styles, behaviors, and responsive patterns, making consistency difficult to maintain.

Impact

Duplicate design & dev effort

04

Developer–designer desync

Handoffs were screenshot-based. Storybook was empty. No source of truth existed between what was designed in Figma and what shipped in production code.

Impact

No design–dev parity

anywhere

05

Responsive system undefined

No breakpoint system. Each of the six squads made independent layout decisions at tablet and mobile widths, producing six divergent user experiences.

Impact

6 inconsistent experiences

dISCOVERY

What the audit uncovered.

Before any component was designed, a structured audit ran across the existing platform, heuristic evaluation, and competitive analysis - to baseline the problem and prioritise the rebuild.

47

Heuristic issues catalogued

Across Critical, High, Medium, Low severities

18

User interviews conducted

Across 3 personas · 6 enterprise clients

08

Competing platforms evaluated

Databricks, Snowflake, Alation, Collibra + 4 others

03

Competing grey values

Across 6 squads with no shared token

Token Architecture

Global & Semantic. Two tiers. Three themes.

Global tokens hold raw values — 259 variables covering all colours, spacing, radius, and sizes. Semantic tokens (131 aliases) are what components consume. Switching themes means rebinding Semantic → Global — components never change.

Dark: Default - dark navy ground, violet

accent, neon green signals.

Light: High contrast for consumer-facing

dashboards. AA validated.

Pretty in Pink: For verification of

components - pink mapped to every

semantic surface via token rebind only.

DESIGN TOKEN PIPELINE

Design tokens colors, typography, spacing, and shadows are defined in Figma, exported as JSON, version controlled in GitHub, and transformed via Style Dictionary into platform ready outputs for Web, iOS, and Android. One source of truth, consistent across every platform.

Design Tokens

Colors

Typography

Aa

Opacity

Spacing

Sizing

Shadow

Figma

JSON Format

GitHub

Style Dictionary

Web

Tailwind

iOS

Swift

Android

XML

Operationalising the System

System in Action

Beyond principles how the design system was kept alive day to day across all the squads, keeping teams aligned and components consistent as the product scaled..

Centralised Discussion & Tracking

A single go-to place for designers and devs to report bugs, clarify doubts, and align on system updates. Through JIRA and a designer is assigned to scope and own it.

Brainstorm & collaborate approval

Ideate the component, then align with UX, content design, and PLM for feedback and sign-off before build.

Publish component on EDS

Make the component part of the EDS library-tokens applied, variants and states complete, Accessibility checked, documentation written.

And assign to dev for Storybook publish.

Team-wide Transparency

Real-time visibility into component progress across teams helped prevent silos and miscommunication.


Component Library

Complex Components

Each component represents a resolution to a specific user frustration shipped with a full contract: usage guidelines, states, responsive specs, and a versioned change-log.

Data Block

DATA bLOCK

High-density tabular display handling multi-state data. Feature use for setting bandwidth frequency. Validated before each Storybook publication.

States

8 — loading, error, empty, hover, selected, editing, readonly, deprecated

Themes

Dark / Light / Pretty in Pink

Responsive

Stacked cards ≤768px; horizontal scroll ≤480px

Port Diagram

PORT DIAGRAM

Net new component category invented for network infrastructure visualization. Required defining a visual language for port density, connection states, and signal health from scratch.

Signal language

Green = active · Purple = reserved · Grey = offline

Interoperability

Slot API so teams can inject custom port metadata

Responsive

Density-adaptive at tablet; scroll-locked at mobile

Responsive System

One system, Three breakpoints.

Responsive behaviour was undefined at project start, each squad made independent layout decisions. The system defines breakpoint behaviour as part of the component contract. Components adapt - they don't just shrink.

≥ 1440px

Desktop

Full panel layouts, sidebars visible, dense data grids

768–1439px

Tablet

Sidebars collapse to tabs, grids reduce columns, drawers replace split panels

< 768px

Mobile

List-first, bottom sheets, floating AI chat, horizontal scroll for dense tables

Page Template

Breakpoints & Specifications

Modules Sample

Screen samples for different modules and its complex components

impact

Measured at 6 months post-launch.

Across pilot enterprise clients in financial services, logistics, and healthcare.

Faster component handoff to engineering

40+

Production components across 6 modules

+44

Platform NPS post-system rollout

↓ 68%

Support tickets from configuration confusion

100%

Design–dev token parity via Storybook

2 + 1

Theme modes shipping on day one

↓ 68%

Support tickets from configuration confusion

Take Away

Honest Retrospective

What worked

Token first meant theme switching was trivial, no repainting, just rebind.

9-step EDS eliminated ambiguous handoffs with a clear owner at every gate.

Figma file structure mirroring squads removed a full layer of translation from every handoff.

Responsive behaviour defined at component level prevented six squads from diverging.

What I'd change

Underestimated migration cost, existing components onto tokens took 2× longer than greenfield.

Documentation was added after build. It should be an EDS gate itself.longer than greenfield.

Responsive specs written after desktop designs should be concurrent from the start.

Accessibility audits should happen at component level, not after module integration.

What I'd take further

Automate token → code sync via Figma Variables + Style Dictionary.

Component health dashboard, usage, last updated, open issues visible to all squads.

Extend Port Diagram into a full network state vocabulary for the lineage graph module.

Responsive preview in Storybook: all three breakpoints side by side per story.