CASE STUDY: DESIGN SYSTEM FOR A 0-1 PRODUCT

Building a Scalable Design System for PassPrivé

How I created the brand, design system and product foundations for Mauritius' next-generation lifestyle platform: through an evolving business model, shifting priorities and a market which is years behind in tech adoption.

Role

Lead Product Designer

Platform

Mobile (iOS & Android)

Team

1 Lead PD, 1 Jr PD,

3 Devs, PM, CEO

Status

Launched 2026

01

Understanding PassPrivé

PassPrivé is a membership-based lifestyle platform designed to help people across Mauritius discover, book and save at premium restaurants, wellness centres, retail stores and exclusive leisure experiences - all from a single application.

Going out in Mauritius is deeply fragmented. Currently, users search across social media channels, Google, WhatsApp catalogs, and static directories just to find a venue, verify if it is open, make a reservation, or access an offer.

PassPrivé unifies the discovery, bookings, payments, rewards, and memberships cycle into one platform. For users, it provides curated, premium island exploration and seamless transactional ease. For merchants, it opens direct lines of customer engagement, loyalty integrations, and rich data-driven exposure.

BUSINESS MODEL

Two-sided marketplace: Users purchase recurring memberships to unlock cashbacks and curated benefits. Merchants subscribe for high-intent visibility, robust reservation systems, and payments.

WHAT MAKES IT DIFFERENT?

Rather than focusing on one vertical, PassPrivé combines dining, shopping and wellness today - and is designed to scale into hotels, flights, tourism, healthcare and categories that haven't been imagined yet. The core belief is to unlock going out - which could eventually mean flight bookings, hotel reservations, tourist-specific features, and building the entire app experience for visitors to Mauritius. Knowing this future scope from the start directly influenced every design system decision.

02

The Merchant Ecosystem

Understanding the merchant model was critical to designing a product system that could flex across different business relationships. Not every merchant had the same operational capabilities or the same contract with PassPrivé: the UI needed to reflect this variability without confusing everyday users.

All merchants were discoverable, even those who hadn't joined the formal network. Because PassPrivé is fundamentally an exploration tool, the platform scrapes verified public listing data to ensure comprehensive local coverage. The more useful the directory, the stronger the membership conversion.

01. Discovery Only

Free and scraped merchant directories. Fully searchable on the platform for users to find location, hours, and catalog, but lacking any in-app booking or cashback options. This acts as our comprehensive discovery baseline.

02. Discovery + Booking

Partners paying for specialized in-app reservation features. Users discover venues and book tables, wellness slots, or appointments either instantly or via manual request validation, dictated by the merchant's workflow.

03. Discovery + Booking + Pay Bill

The fully integrated partner tier. Users discover, make reservations, and complete bill settlement directly through our digital terminal integration. This is the exclusive engine that powers our core instant cashback mechanics.

04. Booking + Pay Bill

Functional operations-first merchants. These partners opt out of the discovery marketing layer entirely, using the PassPrivé tech stack purely as an back-office operational tool to manage schedules and split receipts.

Initially, we designed these as rigid, formal pricing plans with locked cap-abilities. Over time, we learned that the local market needed a more organic relationship—merchants paid strictly for what they could afford and activated only the modules they needed. Consequently, our design system had to evolve dynamically: showing or hiding call-to-actions, transaction inputs, and status badges depending on the real-time capability matrix supported by each partner.

Booking Flexibility

Reservations could be instant or request-based, dictated solely by the merchant's legacy operations. Our challenge was ensuring the UI communicated this distinction at the first interaction, preventing user frustration over wait times.

03

Membership Tiers & the Cashback Engine

The core engine of PassPrivé's commercial model relies on tier-based subscriptions. Three tiers unlock increasingly better reward percentages. However, calculating the actual cashback returned to a user depends on both their personal tier level and the merchant's individual transaction cap parameters.

Tier 01

Privé Free

0.5% cashback

The essential entry point. Users receive basic, low-cap cashback at participating partner merchants, introducing them to our ecosystem cycle.

Tier 02

Privé Plus

1.5% cashback

The main Sweet Spot. Delivers 3× more cashback than the free baseline, making it the perfect membership tier for regular diners and local professionals.

Tier 03

Privé Black

3.0% cashback

The ultimate high-tier status. Unlocks a massive 6× multiplier over the free model, crafted carefully for power users, families, and high-spend island visitors.

THE CASHBACK CALCULATOR LOGIC

LOGICAL CALCULATION

Cashback = Min(User Tier %, Merchant Max)

For example, a Privé Black user (3%) transacting at a partner venue that caps its allowed rewards at 1.5% will earn 1.5% back. Conversely, a Privé Free user (0.5%) transacting at a venue permitting 3% caps out at their tier ceiling of 0.5%. Higher tier plans fundamentally guarantee access to whatever high reward thresholds are available.

The 3× and 6× multiplier framing became our most powerful conversion lever. Rather than advertising flat numbers like 1.5% and 3.0%, our copy compared plans directly to Free: "upgrade to earn 3× more cashback." This simple shift dramatically influenced our upgrade triggers, paywall sheets, and post-transaction feedback modules.

The Design Challenge

Translating this two-variable mathematical reward engine into an effortless, friction-free customer UI was one of our hardest UX problems. Users needed to clearly understand exactly what they would earn, why the amount differed across merchants, and why purchasing an upgrade was highly lucrative—all without making the exploration catalog feel like a dry financial spreadsheet.

04

My Role & Responsibilities

I joined the team as the lead designer, stepping in at a turning point when the core platform architecture was being completely reimagined from the ground up. I took full end-to-end ownership of rebuilding the customer-facing interface—from core brand identity and custom logo marks to the foundational design system patterns, end-to-end UX flow mappings, and detailed engineer reviews.

Product Strategy

Brand Strategy

Logo Redesign

Design System Architecture

UX Flow Mapping

UI Design System

User Research & Auditing

Design Leadership

Engineering Handoff & Review

Designing the system from scratch

No off-the-shelf kit or generic Material template could accommodate the product's unique merchant capability matrix, tiered cashback logic, and multi-vertical category system. Every component, layout token, interaction pattern, and icon was purpose-built — designed, stress-tested, and documented specifically for PassPrivé's evolving ecosystem.

05

Navigating a Product in Definition

PassPrivé wasn't a product defined by static, rigid specifications. The business model was constantly evolving, fresh verticals were actively being explored, and prioritizations shifted week-to-week. My job wasn't just to produce screens—it was to build product-agnostic structural foundations capable of absorbing pivot points seamlessly.

WHAT WAS PLANNED

Heavy luxury dark theme

The founders wanted a strictly dark luxury aesthetic. Previous designers had explored this concept exclusively, believing a deep color space naturally implied exclusivity, resort hospitality, and late-night culinary dining.

WHAT I RECOMMENDED

High-accessibility light theme

Through research with Mauritian locals and expats, I identified that the market is roughly eight years behind in tech adoption. Users preferred airy light environments for everyday utility. Light spaces scaled better beyond nightlife into wellness and daily shopping.

* Strategic Takeaway: This transition wasn't a simple aesthetic swap—it was a logical, research-backed system choice optimized for user comfort.

Decisions that got scrapped along the way

01. ABANDONED

The Dark Theme

Explored extensively in early MVP phases. Dropped post-audits after users indicated outdoor readability was difficult and them being used to light theme (also understood early on that they are 6-7 years behind technically)

02. REPLACED

Inter as primary brand font

Initial layouts relied on Inter. We found it lacked editorial personality for a friendly & premium lifestyle identity, prompting a pivot to DM Sans for UI text.

03. SWAPPED

Blue as primary brand color

Blue was initially planned for its safety in fintech payments . We swapped to warm orange tones to deliver disruptive, energetic brand visibility, a colour not owned by any brand in Mauritius yet. We used the blue as a secondary colour instead.

Pushback & Collaboration

When stakeholders asked to "make elements pop", I advocated for content focus with practical, highly detailed wireframe prototypes—showing why deliberate layout whitespace keeps a product feeling premium. But active listening was bidirectional: our finest decisions came from collaborative iterations rather than stubborn singular alignment. We created dynamic, modular components designed specifically to satisfy unfinalized business scopes.

Midway through the project, it became clear PassPrivé would expand well beyond dining — into hotels, flights, tourism, and categories we hadn't anticipated. That shift is exactly why the direction moved from a dark luxury theme to a light, accessible one: to serve the broader Mauritian market sustainably and scale across verticals without locking the product into a single aesthetic. This realization reshaped how we structured merchant capabilities, booking flows, and the cashback engine — building patterns that were category-agnostic by necessity, not by plan.

06

Before the Design System

The product already had backend infrastructure, a working prototype and an early UI focused on restaurant discovery with a dark visual direction intended to communicate luxury.

What wasn't working

The business had expanded beyond discovery into bookings, memberships, rewards and additional merchant categories but the product foundations hadn't evolved.

The interface lacked consistency across screens with redundant colors, varied card layouts, and fragmented navigational paradigms.

Interaction patterns were solved differently in different places - sometimes requiring three taps for what could be done in one.

No shared visual language existed for designers or developers, stalling feature velocity and causing friction at handoff.

The existing UI wasn't effectively communicating the product's high-tier quality to potential investors or early power users.

WHY CREATE A DESIGN SYSTEM?

Reusable Foundations

Designing feature-by-feature meant solving the same problems repeatedly. With scope expanding rapidly, the team needed reusable foundations. Without them, every new feature meant reinventing core patterns.

WHAT IF WE HADN'T?

Fragmented UX

Increasing inconsistency as new categories launched. One-off solutions from designers, more engineering effort, and progressively harder to maintain a cohesive user experience across the platform.

UI Audit & Friction Mapping

Fragmented Discovery Layout

One-size-fits-all product feeds made it extremely difficult to showcase premium partners or introduce diverse lifestyle categories.

Rigid Navigation Architecture

A hardcoded bottom bar restricted navigation expansion, limiting the effortless rollout of hotel bookings or system bill payments.

Obscured Wallet & Cashback

Users struggled to track active savings. Cumulative cashback and reward visibility were hidden deep within nested menu settings.

Fragmented Discovery Layout

One-size-fits-all product feeds made it extremely difficult to showcase premium partners or introduce diverse lifestyle categories.

Rigid Navigation Architecture

A hardcoded bottom bar restricted navigation expansion, limiting the effortless rollout of hotel bookings or system bill payments.

Obscured Wallet & Cashback

Users struggled to track active savings. Cumulative cashback and reward visibility were hidden deep within nested menu settings.

Structure

Discovery-Centric Navigation

The app assumed users always knew what they wanted, completely ignoring impulse subscription actions.

Weak Content Hierarchy

Lack of visual distinction between sponsored premium merchants and generic localized discounts.

Experience

Invisible Cashback System

No immediate feedback loops indicating how much user spent, saved, or accumlated during transactions.

Vague Membership Value

Users couldn't quickly tell if their paid subscription was active or what specific tiers they qualified for.

Scalability

Category Dead-Ends

The backend could not easily handle expansion into hospitality, system booking, or merchant monetization.

Inconsistent Component Patterns

Fragmented UI systems created massive engineering overhead and user friction.

07

Defining What PassPrivé Should Feel Like

Before touching colours, components or layouts, I aligned with the founders on product character. Not branding - product experience.

THE PRODUCT SHOULD FEEL...

Trustworthy and robust in every payment transaction

Friendly and approachable to Mauritian locals & expats

Energetic and forward-looking lifestyle driver

Helpful discovery hub that provides instant utility

Rewarding at every milestone and transactional tap

Premium and high-quality without being exclusive

IT SHOULD NEVER FEEL LIKE...

A cheap coupon or discount catalog layout

Corporate, cold, or transactional

Visually cluttered or overly dense with metadata

Difficult, confusing, or legacy in its interaction

Intimidating luxury that pushes everyday users away

Overusing style at the direct expense of accessibility

Founder Alignment

The founders wanted PassPrivé to own a distinctive brand colour and build a scalable visual system rather than relying on common luxury aesthetics. This became a north star for every subsequent design decision.

06b

The Chicken & the Egg

Here's the thing nobody tells you about building a design system: you can't design a system without knowing what your product actually looks like, but you can't design a consistent product without a system. It's a classic chicken-and-egg problem, and there's no clean answer — just a messy, iterative one.


I spent time studying how others navigated this. Zomato's Sushi design system was a huge reference — how they scaled across multiple product verticals while keeping things cohesive. I also looked at how Airbnb, Uber, and Shopify evolved their systems alongside their products, not ahead of them. The takeaway was clear: don't try to build the perfect system upfront. Start with real screens, let the patterns emerge, and codify what survives.

THE PROCESS

01. Design the Core Screens

Started with the flows that touched the most surface area — home feed, merchant discovery, detail pages, booking, payments, and membership. These screens forced decisions on every component category at once.

02. Extract Tokens & Primitives

Pulled the recurring patterns out of those screens — colors that kept showing up, spacing that felt right, type pairings that worked — and turned them into reusable tokens and primitives.

03. Trial & Error

Applied the emerging tokens back to the screens and watched what broke. Some patterns held across contexts, others fell apart in edge cases. Rebuilt, retested, iterated until things stuck.

04. Finalize the Screens

Locked the core screens with the proven components and tokens. These became the source of truth — the designs the system was derived from, not the other way around.

05. Derive the Visual Language

With finalized screens in hand, the broader visual identity crystallized — the full color system, type hierarchy, spacing scale, iconography style, and illustration rules all fell into place.

06. Build the Design System

Codified everything into a documented, scalable atomic system — foundations, components, patterns, and templates — ready for the team and engineered for growth.

07

Creating consistency across a growing ecosystem

Atoms

Molecules

Organisms

Templates

Privé

Menu

Reserve

Pages / Screens

FOUNDATIONS

Text Styles

Colors

Icons

Shadow

Border

COMPONENTS

Buttons

Input Box

Search Box

Menu

PATTERNS

Navbar

Rating Widgets

Cards

TEMPLATES

Skeleton of a screen

Page Layout

Modal Skeleton

FEATURES

Booking Modules

Wallet Sheets

Membership Tiers

APP

Finished Screen

Interactive Page

Live Prototype

I researched many other design systems and the very base to our systematic approach was the creating of atoms first. We initially did this with few main screens: homepage, dining detail page, dining pay bill, profile - and made multiple iterations to then finalise our atoms, use it to make molecules, so on and so forth.

08

Four Principles That Guided Everything

Instead of visual-style principles, I created principles tied to product decisions - applicable whether designing onboarding, merchant discovery, rewards or memberships.

Clarity Over Complexity

Every screen immediately understandable. Zero cognitive load. Information presented progressively as users move through transactional loops.

Reward the Journey

Members feel valued at every touchpoint through automatic perks, clear feedback on savings, and micro-delights embedded in navigation.

Flexible by Design

Built to scale seamlessly into tourism, lodging, and experiential categories that don't exist yet, without requiring menu changes.

Unified Experience

One common design language unifying the mobile app, web platforms, physical member cards, and backend merchant tooling.

09

Reworking the Identity

PassPrivé had a logo centred on a ticket/pass concept. It described what the product used to be, not what it was becoming. Over two rounds, I explored roughly twenty directions across themes: ticket/pass, unlocking experiences, adventure, discovery, play, movement, the letter P, and membership.

Logo Mark Ideation & Explorations (Selection)

PassPrivé

Concept 1

PassPrivé

Concept 2

PassPrivé

Concept 3

Pass

privé

Concept 4

PassPrivé

Concept 5

Pass

privé

Concept 6

passprivé

Concept 7

Pass

privé

Concept 8

passprivé

Concept 9

passprivé

Concept 10

passprivé

Concept 11

Passprivé

Concept 12

Why these didn't work

Ticket / Pass motif

Too literal. Locked the brand to a single product feature that the business had already outgrown.

Abstract P lettermark

Felt generic. Could belong to any tech startup. No emotional connection to experiences or Mauritius.

Map pin / Location

Overused in travel and food apps. Wouldn't differentiate PassPrivé in the market.

Crown / Luxury symbol

Reinforced exclusivity over accessibility. Contradicted the product direction of being approachable and human.

Dining / Fork and knife

Too category-specific. Would need replacing as soon as wellness, shopping or hotels launched.

The Final Logo

Pass

privé

Pass

privé

The final mark combines a keyhole and hot-air balloon silhouette into a distinctive P. The keyhole represents access to premium experiences and exclusive member benefits - “unlocking” going out. The balloon represents exploration and discovering more of Mauritius. Together they create a symbol broader than just a pass for discovery - allowing the brand to grow into new categories without reinventing itself.

10

Building a Colour System Around Ownership

Most lifestyle products compete for the same visual territory - blue for trust, black for luxury, green for savings.

Why Orange?

Orange captures energy, exploration and the excitement of going out. It gave PassPrivé a distinctive, instantly recognizable identity within the Mauritian market. The founders wanted something ownable rather than safe.

Orange

#0044FF

Trust & utility navigation

Coral

#FF7640

Hospitality, warm accents

Blue

#FF7640

Hospitality, warm accents

Charcoal

#181719

Structure, functional UI usage

Green

#3AA456

Cashback, savings, rewards

Yellow

#FFC53D

Offers, discovery highlight

Light Blue

#26E0F4

Soft energy

Coral

#FF7640

Hospitality, warm accents

02 — Colour System

PRIMARY BRAND

Primary

#FF4800

White

#FFFFFF

SECONDARY BRAND

Secondary

#0044FF

ACCENTS & UTILITIES

Accent Green

#3AA456

Accent Blue

#00DBF2

White

#FFFFFF

Accent Yellow

#FFC53D

Charcoal Grey

#585656

* Design Core: Every shade has complete, scalable color ramps mapped to design variables. Includes high-contrast semantic variants for Success, Warning, Error, and Information that are WCAG AA accessibility-tested.

11

Typography

DM Sans

Primary Sans

Aa

Selected for readability across dense product interfaces, broad language support and an approachable, modern personality. Inter was tested first but lacked enough warmth for a lifestyle brand.

Libre Baskerville

Secondary Serif

Aa

Used selectively and exclusively in italics for campaign headers, premium merchant collections, and marketing spotlights - providing editorial character without compromising UI usability.

* Scale Logic: Complete typography scale defined as shared design tokens. Adaptive responsive rules built into mobile, tablet, and desktop viewport styles.

01 — TYPOGRAPHY

Aa

DM Sans

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 (!@#$&*)

TOKEN

SPECIFICATION

SAMPLE

display

48px Bold

Creative Agency

H1

32px Bold

Case Studies

H2

28px SemiBold

Visual Identity

H3

24px SemiBold

Brand Guidelines

H4

20px SemiBold

System Architecture

Body

16px Regular

Minimal layouts built on dynamic structures.

Caption

12px Regular

FIGURE 4.2 — COLOR DISTRIBUTION MATRIX

Overline

10px Medium

01 / ARCHITECTURE

12

Foundations & Design Tokens

Every spacing value, colour token and radius needed a clear purpose - reducing design decisions and creating a fast path for product engineering.

Spacing Tokens

Built on an 8pt layout grid (4px, 8px, 12px, 16px, 24px, 32px, 48px, 64px) to guarantee strict alignment.

Elevation & Shadows

Interaction-driven system with four elevation layers (resting, hover, modal, and drawer overlays).

Bespoke Iconography

Custom icon library designed inside a pixel-aligned 24px bounding box to support brand categories.

Radius Options

Three specific corners: 12px for standard lists, 16px for interactive cards, and 18px for bottom sheets.

Responsive Grid

Dynamic 4-column layout on mobile, 8 on tablet, and 12 on desktop with consistent padding structures.

Illustration & Photo Rules

Friendly flat illustrations paired with real aspirational photography capturing Mauritius' light.

13

The Component Library

Every component was designed with variant logic to handle the product's shifting capabilities - a merchant card that adapts based on whether booking, cashback, or both are available. The library covered the full surface:

Buttons

Inputs

Navigation

Merchant Cards

Membership Cards

Bottom Sheets

Modals

Badges

Rewards

Lists

Chips

Search

Empty States

Toasts

Banners

Booking Modules

Payment Terminals

User Profile

Key components

A selection of rendered UI elements demonstrating the system's visual language and interaction patterns.

Product Patterns

Beyond individual components, certain patterns emerged that were unique to PassPrivé — complex compositions that required their own design logic.

Merchant Cards - the hardest component

The most iterated component. It needed to handle diverse merchant capabilities - some with booking, some with cashback, some with both, and some with neither. Different merchant types had to communicate varying operational information while maintaining a cohesive look.

Membership Surfaces

Benefits are surfaced throughout the experience, not just in a profile screen. Rewards, savings, cashback calculations, and upgrade prompts appear contextually in transactional flows. The 3× and 6× multiplier messaging is baked directly into paywall sheets and upgrade prompts.

Upgrade Prompt Sheet

Instant Cashback Success Notification

Active Tier Savings Overview

Standardised Journeys Mapped

Merchant Discovery

Search & Filters

Category Browsing

Membership Purchase

Merchant Details

Table Booking (Instant)

Table Booking (Request)

Rewards Tracking

Cashback Wallet

Bill Settlement

User Profile

Location Selector

14

Bridging Design & Engineering

Engineering Collaboration

Worked closely with four engineers across frontend and backend. The design system became the shared, single reference. Handoff through Figma used shared components, variables and implementation-ready specs. Discussions focused on behaviour and edge cases, not visual inconsistencies.

Team & Leadership

Led all customer-facing design work. Reviewed junior designer output. Worked with founders on roadmap and feature definition. Design decisions discussed collaboratively - product goals, technical constraints and UX considered before implementation.

Design tokens — including colors, typography, opacity, spacing, sizing, and shadows — were defined as variables directly in Figma, then exported in standardized W3C JSON format. From there, GitHub Actions automated the build pipeline, triggering Style Dictionary to transform tokens into platform-specific outputs for Web (Tailwind CSS), iOS (SwiftUI), and Android (Jetpack Compose). This end-to-end pipeline kept design decisions and code implementation in sync across all three platforms, reducing handoff friction and eliminating visual inconsistencies between frontend and mobile implementations.

Source Foundations

DESIGN TOKENS

Colors

Typography

Opacity

Spacing

Sizing

Shadow

01

Figma Variables

Tokens defined & synced via plugin

02

JSON Format

Standardized W3C token output

03

GitHub Actions

Webhooks trigger automated build

04

Style Dictionary

Transforms tokens per platform

Web / Tailwind

Tailwind CSS .json

iOS / Swift

SwiftUI Color .swift

Android / XML

Jetpack Compose .xml

Global design system specifications with code variables alignment shared across design and engineering teams.

15

Impact

By launch, the system had become the foundation for every customer-facing experience. It supported merchant discovery, memberships, rewards, bookings and future expansion without requiring new visual frameworks. What started as a design system became the shared language between product, brand and engineering.

260+

Reusable Components

310+

Product Screens

1.4 months

Shipped entire product redesign from old to new

3.5x

Faster Design Execution

A Personal Reflection

What I'm most proud of is that the system kept up with a business that was still figuring itself out - and that the team and investors felt the transformation even before its launch. The founder and engineers kept saying the product had been completely transformed and they’re getting positive feedback from investors regarding the product . That felt good.