Project Overview

Project Overview

As heycar continued to grow as a marketplace for discovering and purchasing used cars, the product expanded across new features, teams, and markets.

While the platform maintained a consistent customer-facing experience, the design and development processes behind the scenes were becoming increasingly fragmented. Different teams were building features independently, which led to inconsistencies across components, patterns, and interaction behaviors.

To support the platform’s growth, we set out to create a design system that would bring consistency to the product while enabling teams to work more efficiently.


The goal was not only to standardize the interface but also to establish a shared language between design and engineering.

My Role

My Role

I worked on this project alongside two other product designers and two Frontend engineers.

My responsibilities included:


  • Auditing the existing interface and identifying inconsistencies

  • Defining reusable UI components and patterns

  • Structuring the design system within Figma

  • Aligning design components with the frontend implementation

  • Documenting guidelines and usage principles for teams


This work required close collaboration between designers and engineers to ensure the system was both visually consistent and technically scalable.

Challenges:

As the product evolved, several challenges began to surface:


  • Multiple variations of the same UI components existed across the product

  • Design and development teams were recreating elements repeatedly

  • Inconsistent spacing, typography, and color usage appeared across screens

  • New features were difficult to implement without introducing additional inconsistencies


Without a shared design foundation, maintaining quality across the platform became increasingly difficult. The design system needed to create structure while remaining flexible enough to support future product development.

Design Process

Design Process

Auditing the Existing Product

We began by conducting a full UI audit across the product. This helped us identify repeated components, inconsistent styles, and areas where patterns diverged. By mapping these inconsistencies, we were able to define which components should become standardized building blocks.


Defining Core Components

From the audit, we created a set of reusable components that could support the majority of product interfaces.

These included elements such as:

  • Buttons and form inputs

  • Navigation structures

  • Cards and listing layouts

  • Modals and interaction patterns

  • and so many other product specific components


Each component was designed with clear states and behaviors so that it could be reused consistently.


Introducing Design Tokens

To support scalability and consistency, we introduced design tokens for key design attributes such as color, typography, and spacing.

Design tokens act as the foundational layer of a design system, allowing teams to maintain consistency across interfaces while simplifying updates across the product. This structure allowed both designers and engineers to reference the same design logic when building features.


Aligning Design and Development

A critical part of the project was aligning the design system with the frontend codebase. Working closely with the frontend engineers, we ensured that design components in Figma corresponded to reusable components in the development environment. This alignment reduced duplication and made it easier for teams to implement consistent interfaces.

Final Outcome and Impact

Final Outcome and Impact

Outcome

The design system created a shared foundation for building the heycar product experience. Designers were able to work more efficiently using standardized components, while developers could rely on reusable UI patterns.

This improved visual consistency across the platform and reduced the time required to design and implement new features.

More importantly, it strengthened collaboration between design and engineering teams by giving both groups a shared framework for building the product.

My Reflection

Working on the design system shifted the focus from designing individual screens to designing the infrastructure behind them.

Consistency is not only about visual polish. It is also about creating a shared language that allows teams to build and scale products together. By establishing this foundation, we made it easier for the product to evolve while maintaining clarity and coherence.

© 2026 Nasim Raeesi