Design System 0-1 - Lead Designer, React & Native

OPEN

Design System 0-1 - Lead Designer, React & Native

50+ components, unified 14+ products

Design SystemReactNativeComponents

Problem

Multiple products were using inconsistent design patterns, components, and styles, leading to fragmented user experiences and slow development. Designers and developers were recreating similar components across products, wasting time and creating technical debt. How might we create a unified design system that enables consistent, scalable design across all products?

What I did

  • Led the creation of a comprehensive design system from scratch, including component libraries for React.js and React Native

  • Established design tokens for colors, typography, spacing, and other design primitives that ensured consistency across platforms

  • Designed and built 50+ reusable components with clear documentation and usage guidelines

  • Created component architecture and patterns that worked across web (React.js) and mobile (React Native) platforms

  • Established design system governance processes including contribution guidelines, review processes, and release cycles

  • Unified design across 14+ products by migrating existing products to use the new design system

My key contribution

Led the creation of a comprehensive design system from scratch, unifying design across 14+ products and reducing development time by 40%.

Highlight:

I created a 0-1 design system with 50+ components, design tokens, and comprehensive documentation that worked across React.js and React Native. By establishing clear component architecture and governance processes, I unified design across 14+ products and enabled faster, more consistent development.

Results & Impact

  • Launched 0-1 design system with 50+ components

  • Unified design across 14+ products

  • 40% reduction in development time for new features

  • Established design system governance and contribution processes

Overview

Led the creation of a comprehensive design system from scratch, including component libraries for React.js and React Native. Established design tokens, component patterns, documentation, and governance processes. The system unified design across 14+ products and reduced development time significantly.

To comply with my non-disclosure agreement, I have omitted and obfuscated confidential information in this case study. All information in this case study is my own and does not necessarily reflect the views of Booking.com.

How might we create a unified design system that enables consistent, scalable design across all products?

How I structured the problem space to guide design decisions

  • consistency through shared design tokens and components

  • scalability through reusable patterns that work across platforms

  • efficiency through reducing redundant work

Using audit of existing products and stakeholder interviews, I identified that the key was creating a flexible system that could accommodate different product needs while maintaining consistency.

Information Architecture

Content coming soon...

Designing modular, scalable components that integrate across the product ecosystem

Approach

I designed the design system as a hierarchical, token-based architecture where design tokens (colors, typography, spacing) formed the foundation, components built on top of tokens, and patterns combined components. The system was platform-agnostic at the token level, with platform-specific implementations for React.js and React Native. This systems-oriented approach enabled consistency across platforms while allowing platform-specific optimizations where needed.

Benefits

  • Reduces technical debt through reusable components
  • Enables faster iterations and scalability
  • Creates enterprise-scale solutions

Navigating complexity through cross-functional collaboration

I worked closely with designers across product teams to understand their needs and gather requirements, with engineers to design component APIs and implementation patterns, and with product managers to prioritize components and features. I facilitated design system workshops to align on patterns and established governance processes for contributions and releases. Regular syncs with design and engineering teams ensured the system met real-world needs.

Challenges and trade-offs

This project required balancing consistency with flexibility, creating a system that worked across multiple products and platforms.

Key Challenges and Solutions

1.

Cross-Platform Consistency

We needed components that worked on both React.js (web) and React Native (mobile) while maintaining visual consistency. I designed a token-based system where design tokens were platform-agnostic, with platform-specific component implementations that shared the same visual language.

2.

Migrating Existing Products

14+ existing products needed to migrate to the new design system without disrupting users. I created migration guides and component mapping that helped teams gradually adopt the system, prioritizing high-impact components first.

3.

Governance and Contribution Process

We needed a process for teams to contribute components while maintaining quality and consistency. I established contribution guidelines, review processes, and release cycles that enabled collaboration while ensuring the system remained cohesive.

What I learnt

Building a design system from scratch taught me that design systems are as much about process as they are about components. Creating great components is important, but establishing governance, contribution processes, and documentation is what makes a design system sustainable. The key was understanding that a design system needs to serve both designers and developers, requiring clear APIs, usage guidelines, and examples. This experience reinforced the importance of systems thinking in design, where creating reusable patterns and components enables teams to move faster while maintaining consistency.

Feedback

Content coming soon...