Design System

for Korea's largest e-commerce app

Coupang is the largest e-commerce app in Korea.
I was responsible for building and maintaining Coupang’s core design system.

Phone mockup of Coupang widgetsPhone mockup of Coupang Fresh page
Year

2021 - 2024

My Role

As a Senior Product Designer at Coupang, Korea's largest e-commerce app with 21M+ customers, I was responsible for building, refining, and scaling core design system components. Through Carousel migration, we achieved a tenfold increase in adoption and 83% better engineering efficiency.

Skills

Design Systems
AB Testing

Tools

Figma
Protopie

Achieving Design Excellence through Design Systems

Our North Star was to achieve design excellence through our design system. I led a collaborative workshop with leaders from design, PM, and engineering to evaluate our current state and align on goals and priorities for the next quarter.

Design

Enhance design coherence and scalability

PM

Foster cross-functional alignment

Engineering

Reduce engineering inefficiencies

Aligning with Leadership through a Design Workshop

We audited all app domains and identified the Carousel component as the most impactful area for improvement, as it was the most used design system component and generated significant GMV (Gross Merchandise Value). Addressing problems with the Carousel led to notable enhancements in success metrics, demonstrating its impact.

Carousel usage
# 1
Most used component among 28 design system components
adoption rate
10 x
Increase in Carousel component throughout the whole app
engineering efficiency
83%
Improvement for implementing site-wide changes
Image showing design problem

Inconsistent Product Carousels

1

Cognitive Load

There are more than 100 Product Carousels throughout the app, but each with different designs. Important elements like the Price, Logo, Button and Image size were inconsistent, resulting in cognitive load for the customer.

2

Engineering Inefficiency

The different designs also meant that the code was fragmented, resulting in enormous engineering inefficiencies. Site-wide changes would take more than 100MD to implement.

Carousels are a critical part of the purchase journey

The purple areas below show where the Carousels are placed in the purchase flow. Carousels take up the majority of real estate on almost all pages.

Amount of Carousels in the purchase journey

Fragmented Legacy Parts that Serve the Same Function

Breaking down the legacy Carousels, we can see that similar elements are styled differently, even though they serve the same function in each Carousel.

A Mere 6% Adoption Rate for 21M+ Customers

Adoption rate graph

Coupang has 21M+ active users in Korea, which is 41% of the country's total population.

Out of the 100+ Carousels that customers see, the adoption rate of Coupang’s design system Carousel component was a mere 6%.

The goal of this project was to raise the adoption rate and unify the different Carousels.

Atomic Design

Coupang’s design system follows Brad Frost’s concept of Atomic Design, the idea that the user interface can be broken down into the following 5 stages.

Atom image
Arrow right
Molecule image
Arrow right
Organism image
Arrow right
Template image
Arrow right
Page image
Atoms
Molecules
Organisms
Templates
Pages
Atom image
Atoms
Arrow down
Molecule image
Molecules
Arrow down
Organism image
Organisms
Arrow down
Template image
Templates
Arrow down
Page image
Pages

As such, the Carousel component can be broken down into a Header and Product Unit, and the Product Unit broken down further into its subsequent parts.

Product Carousel

Legacy carousel breakdown

Product Unit

Legacy product unit breakdown

Redefining the Product Unit

Collaborating closely with engineering, we categorized and named each part of the Product Unit, redefining its overall structure. We transformed each group into Figma's nested components, incorporating flexible properties to make them more intuitive and versatile for designers to use.

Before
Product unit legacy

east

After
Product unit new
Product Unit sub-components

The Product Unit was then optimized for each delivery type and product category.

Product Unit row 1Product Unit row 1Product Unit row 1Product Unit row 1
Product Unit row 2Product Unit row 2Product Unit row 2Product Unit row 2

Revamping the Carousel

Using the new Product Unit component, we could also make the Carousel consistent. The image size, price, logo, and Button label were adjusted.

Before

Product carousel legacy

east

After
Product carousel new

Carousel Specs

The Product Carousel consists of smaller components like the Header, Product Unit, and Divider. The spacing between the components is shown below.

New Carousel breakdown

Responsive Width

The Product Carousel has a responsive width so that it looks scrollable on any device. It is designed to show 2.5 number of items regardless of the Carousel width.

Responsive width

See More Button

At the end of the Product Unit list, there is an additional "See More" Button with an enlarged touch area to make the button more touch-accessible.

See more button

Before

OOS Alternatives Widget
OOS widget before

east

After
OOS Alternatives Widget
OOS widget after
Before
Frequently Bought Items Widget
FBI widget before

east

After
Frequently Bought Items Widget
FBI widget after

We then created different variations of the Carousel, so that long pages with multiple Carousels would look less monotonous.

Carousel variations

Accessibility for 60% of Customers

The age group for Coupang's users covers a wide range, from Gen Z to Baby Boomers. Approximately 60% of users change their display setting to enlarge their device font size. Taking this into account, we improved the accessibility for the Carousel component by adjusting its font size and spacing.

Display Font Size Setting

Accessibility scale

There are 7 levels in the display font size setting on iOS and Android. The majority of customers that change the setting use it to enlarge the text size. We defined the 7 levels of font sizes for the Header and Product Unit in the Carousel component.

Header

Accessibility - Header

Product Unit

Accessibility - Product Unit

Before, the enlarged version of the Carousel at font level 7 had the title truncated to one line, which made it impossible to read the whole title of the Carousel anywhere. This was changed to show the full title text up to two lines. Also, the product name was bigger than the price, making the price less glanceable. The font size and spacing were adjusted for better visual hierarchy and readability.

Accessibility - before
Accessibility - after

Final Prototype

We migrated a total of 22 Carousels in the Gateway home screen alone, each Carousel optimized depending on the recommendation type. A key consideration was that these Carousels were all shown listed together.

Home
Each Carousel is optimized depending on type.
See More Page
The See More button links to a separate detailed page.

Quick-Add-To-Cart Flow

Some Carousels have a Quick-Add-To-Cart (QATC) button so that customers can add items to Cart without visiting the product detail page. This is especially useful for Fresh products where there is not much differentiation in product attributes.

Customers can set the quantity they want to add. A Snackbar confirms that items have been successfully added.

Migration Impact

Carousel Adoption
Carousel adoption after

Through migration, we were able to raise the adoption rate of the Carousel from 6% to 60%, a tenfold increase. Through AB testing, we confirmed that the guardrail metrics remained neutral, which meant there was no negative impact on business metrics such as GMV.

As a result of the migration, we could also improve engineering efficiency by 83%. It is now much easier to apply site-wide changes to the entire app.

For example, a feature that takes 1MD to build would take approximately 54MD in order to apply to 100 Carousels. On the other hand, for the design system Carousel, this will only take 9MD in total for native and backend effort.

Engineering Efficiency
Migration impact graph

Navigating Trade-offs

Migrating the Carousel component meant making some trade-offs to balance priorities and resources. While the plan was to update all carousels in the app, we had to focus on the most impactful areas due to evolving business needs and time constraints. Key considerations included focusing on high-traffic areas like the Gateway and Category Home pages in order to maximize improvement in user experience, while less critical updates were put on hold. This selective approach allowed us to stay aligned with overall business goals without overextending resources.

Trade-off between consistency and customization

We also quickly realized that product teams often wanted to customize the Carousel component to align with their specific goals. It was a challenge for us to achieve a unified design system while at the same time having the flexibility to meet different business requirements. Finding this balance became key to ensuring the Carousel was both consistent and adaptable.

UI Toolkit to Enhance Design Productivity

In addition to the core design system, I also created a toolkit for designers to use. The toolkit has its own design system, from typography and color to spacing and various components including templates and spec tools. The toolkit has a total of 156 components, is used by more than 36 teams, with an average of 8,000 insertions per week.

Toolkit image

Learnings

  • At Coupang's Design Systems team, I learnt the importance of managing and continuously evolving an existing design system.
  • In order to pull through with the initiative, I also took on the role of communicating closely with leadership including directors from Engineering and Product Management.
  • As a result of our efforts, our team won the 22Q3 Core Product Award for Tech Excellence, and my performance for the year was Top Tier.
White arrow top