BrandToPrompt

Shopeemobile Design System: Mobile-First Retail UI

Visit Site

Explore Shopeemobile's design system - bold colors, compact typography, and functional UI patterns. Build fast, clear retail experiences.

6 min read1,155 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
Roboto

Design Style

Style
utilitarian retail-focused with bold primary color and minimal ornamentation
Visual Density
compact with tight spacing and micro-adjustments
Border Style
minimal 2px rounding on most components

Full Analysis

Shopeemobile Design System Deep Dive


1. Brand Overview

Shopeemobile, the mobile-first arm of Shopee’s e-commerce empire, isn’t trying to be subtle. This is a brand built for high-volume transactions, fast product discovery, and frictionless checkout on small screens. The vibe: high-energy retail. The design philosophy: keep it simple, push users toward the buy button, and make sure nothing gets lost in the noise.

From the login page to product listings, Shopeemobile sticks to a utilitarian approach. The interface is stripped down to key brand colors and clean typography. There’s no ornamental fluff—every pixel serves a purpose. Buttons are functional, links are obvious, and the typography is consistent across contexts. They’re not chasing “artisanal minimalism” like Apple or “flat brutalism” like Craigslist. Instead, they aim for clarity and efficiency.

The overall look is dominated by Shopee’s signature orange (#ee4d2d) paired with pure white (#ffffff) and a handful of functional colors (blue for links, muted grays for secondary text). There’s a heavy reliance on Roboto, a modern sans-serif that keeps things legible at small sizes and works across languages.

This design system is clearly optimized for scale. It can handle thousands of product cards, dozens of promotions, and an international audience without breaking coherence. The decisions here scream “practical retail UI”: tight spacing, modest border radii, small shadows to lift interactive elements from flat backgrounds, and a palette that’s easy to remember.

The target audience? Everyday shoppers who want speed and clarity. This is not about brand storytelling—it’s about getting you from login to checkout with as few clicks and as little cognitive overhead as possible. And they nailed it.


2. Color System

Color is the loudest part of Shopeemobile’s identity. The primary orange (#ee4d2d) carries the brand's warmth and urgency. It’s not a polite pastel—it’s a stop-you-in-your-tracks retail orange. Competitors like Lazada lean into blues and purples for trust and stability; Shopeemobile’s orange is about action and immediacy.

2.1 Primary Colors

  • Primary Orange#ee4d2d: Used for primary buttons, promotional highlights, and key links. Psychologically, orange triggers excitement and appetite—ideal for retail urgency.
  • Blue Link#0000ee: The classic HTML link blue. No frills, no custom hue. It works because it’s instantly recognizable as clickable.
  • White#ffffff: Dominates backgrounds and text on dark surfaces. The clean slate that makes orange and blue pop.

2.2 Complete Palette

Color NameHexRoleUsage
Link Blue#0000eeLinksPrimary navigation links, inline text links
White#ffffffBackground / TextPage backgrounds, button text, input backgrounds
Brand Orange#ee4d2dPrimary brand / CTAPrimary buttons, promotional elements, key accents
Dark Gray#222222TextHigh-contrast body text in dark mode or overlays
Accent Red#ff424fAlert / AccentPossible error highlights or promotional badges
Near-Transparent Black#000000Hover/focus backgroundsHover overlays with 2% opacity
Text Secondaryrgba(0,0,0,.65)Secondary textCaptions, metadata, placeholders
Util BG#f5f5f5Neutral backgroundCard backgrounds, section separators
Text Tertiary Opaque#757575Tertiary textDisabled states, less important info
Text Secondary Opaque#595959Secondary text (opaque)Labels, muted UI elements
Link Color#0088ffAlternative linkSome link states, possibly hover or visited
Caution BG#fff8e4Warning backgroundCaution banners, notification backgrounds
Brand Primary Light Colorrgba(255,87,34,.1)Brand tint lightHover states, subtle brand backgrounds
Error BG#fff4f4Error backgroundValidation error areas, alerts

2.3 Color Relationships

They’re not overcomplicating color relationships. White (#ffffff) against orange (#ee4d2d) gives strong contrast (WCAG AAA for large text, AA for normal text). The link blue (#0000ee) against white is safe and instantly clickable.

Accessibility is decent, but the accent red (#ff424f) on white can be borderline for small text—it’s vibrant but lower contrast than blue or black. Secondary text in rgba(0,0,0,.65) passes readability for body sizes but not for tiny captions.

No dark mode palette is evident here. The system is built for light backgrounds, with functional grays to keep things readable.

2.4 Usage Guide

  • Workhorse: Orange (#ee4d2d) for CTAs. Never dilute it—opacity changes are for disabled states only.
  • Links: Use link blue (#0000ee) for inline text and navigation. Alternative blue (#0088ff) can be used for emphasis.
  • Backgrounds: White for main canvas, util-bg (#f5f5f5) for sections.
  • Text: Black (#222222) or rgba(0,0,0,.65) for secondary.
  • Avoid: Mixing orange with accent red (#ff424f) in the same component—it’s too close in vibrancy and can confuse hierarchy.

3. Typography

3.1 Font Families

Everything runs on Roboto. Fallbacks are exhaustive, covering Burmese, Khmer, and various CJK fonts:

Roboto, SHPBurmese, SHPKhmer, Helvetica Neue, Helvetica, Arial, 文泉驛正黑, WenQuanYi Zen Hei, Hiragino Sans GB, 儷黑 Pro, LiHei Pro, Heiti TC, 微軟正黑體, Microsoft JhengHei UI, Microsoft JhengHei

No Google Fonts API call—Roboto is probably self-hosted or system-loaded. This stack ensures legibility across multiple locales without breaking the layout.

3.2 Type Scale

ElementFontSize(px/rem)WeightLine HeightTransform
LinkRoboto14px/0.88rem4001.20None
ButtonRoboto14px/0.88rem4001.20None
ButtonRoboto14px/0.88rem4001.20Uppercase
LinkRoboto14px/0.88rem5001.20None
CaptionRoboto14px/0.88rem4001.20None
ButtonRoboto12px/0.75rem4001.17None
CaptionRoboto12px/0.75rem4001.17None
LinkRoboto12px/0.75rem4001.20None
CaptionRoboto12px/0.75rem4001.20Uppercase
LinkRoboto0px/0rem400NaNNone

3.3 Hierarchy

Hierarchy is subtle—no massive jumps in size. Most UI text sits at 12px or 14px, keeping things compact. Weight shifts (400 vs 500) are the main way they indicate importance. Uppercase transforms on some buttons and captions add emphasis without changing font size.

This is a UI-first type system, not a content-first one. It’s tuned for dense interfaces, where every label needs to fit in tight spaces.


4. Spacing & Layout

4.1 Spacing Scale

Base scale: 8px, but with exceptions (4px, 5px, 6px, 10px, etc.). This is a hybrid system—core multiples of 4px, but odd values show up for fine-tuning.

pxremCountNotes
40.2538Icon gaps, tight padding
50.3116Micro-adjustments for alignment
60.381Rare edge case spacing
80.514Small component padding
100.633Button horizontal padding
110.692Rare micro-padding
120.7527Input padding, small margins
140.882Text alignment tweaks
161.06Section gaps
201.256Larger gaps
221.382Rare large padding
301.882Hero section spacing
402.57Big section breaks

4.2 Layout

No explicit breakpoints in extracted data. Responsive behavior is likely handled by a fluid grid and percentage widths. The lack of max-width tokens suggests they rely on full-width layouts for mobile-first design.


5. Visual Elements

Border Radius

ValueCountElements
0px 2px 2px 0px1div
1px2div
2px22div, button, li, img, a
4px2button, div

Radius is minimal—2px is the default. This keeps buttons and cards looking crisp, not overly rounded.

Shadows

ShadowCount
rgba(0,0,0,0.2) 0px 1px 1px 0px16
rgba(0,0,0,0.02) 0px 2px 0px 0px inset2
rgba(0,0,0,0.12) 0px 0px 9px 0px1
rgba(0,0,0,0.06) 0px 6px 6px 0px1
rgba(0,0,0,0.14) 0px 3px 10px 0px1
rgba(0,0,0,0.09) 0px 1px 1px 0px1

Small, functional shadows. They’re not going for heavy depth—just enough to separate interactive elements from flat backgrounds.

Borders

Several low-opacity black borders, used for dividers and inputs. No heavy colored borders except a rare yellow (rgb(255,191,0)) for caution states.


6. Components

6.1 Buttons

Variant 1 (Secondary?)
Default:

  • Background: #ffffff
  • Color: rgba(0,0,0,0.87)
  • Padding: 4px
  • Radius: 4px
  • Border: 1px solid rgba(0,0,0,0.26)
  • Shadow: rgba(0,0,0,0.12) 0px 0px 9px 0px
  • Font: 12px Roboto, weight 400

No hover/active/focus states captured—likely subtle changes.

Variant 2 (Primary)
Default:

  • Background: #ee4d2d
  • Color: #ffffff
  • Padding: 0px 10px
  • Radius: 2px
  • Border: none
  • Shadow: rgba(0,0,0,0.09) 0px 1px 1px 0px
  • Font: 14px Roboto, weight 400
  • Opacity: 0.7

Opacity 0.7 is unusual for default state—could be a disabled style or intentional branding choice.

Four styles:

  • Blue (#0000ee) — default web link style
  • Orange (#ee4d2d) — brand links
  • Dark blue (#0055aa) — alternative link
  • Gray (rgba(0,0,0,0.65)) — muted link

No hover styles in data—could be handled via underline or color shift in production.

6.3 Forms

Text inputs:

  • Background: #ffffff
  • Text: rgba(0,0,0,0.8)
  • Border: none, radius 0px
  • Padding: 12px
  • No shadows

Functional, minimal—relies on surrounding layout for structure.


7. Design Tokens (CSS Custom Properties)

:root {
  /* Colors */
  --color-link-blue: #0000ee;
  --color-white: #ffffff;
  --color-brand-orange: #ee4d2d;
  --color-dark-gray: #222222;
  --color-accent-red: #ff424f;
  --color-black-transparent: #000000;
  --nc-text-secondary: rgba(0,0,0,.65);
  --nc-util-bg: #f5f5f5;
  --nc-text-tertiary-o: #757575;
  --nc-text-secondary-o: #595959;
  --nc-text-link: #0088ff;
  --nc-caution-bg: #fff8e4;
  --brand-primary-light-color: rgba(255,87,34,.1);
  --nc-error-bg: #fff4f4;

  /* Typography */
  --font-family-primary: Roboto, SHPBurmese, SHPKhmer, Helvetica Neue, Helvetica, Arial, 文泉驛正黑, WenQuanYi Zen Hei, Hiragino Sans GB, 儷黑 Pro, LiHei Pro, Heiti TC, 微軟正黑體, Microsoft JhengHei UI, Microsoft JhengHei;

  /* Spacing */
  --space-4: 4px;
  --space-5: 5px;
  --space-6: 6px;
  --space-8: 8px;
  --space-10: 10px;
  --space-11: 11px;
  --space-12: 12px;
  --space-14: 14px;
  --space-16: 16px;
  --space-20: 20px;
  --space-22: 22px;
  --space-30: 30px;
  --space-40: 40px;

  /* Border Radius */
  --radius-none: 0px;
  --radius-sm: 1px;
  --radius-md: 2px;
  --radius-lg: 4px;

  /* Shadows */
  --shadow-sm: rgba(0,0,0,0.2) 0px 1px 1px 0px;
  --shadow-inset-light: rgba(0,0,0,0.02) 0px 2px 0px 0px inset;
  --shadow-md: rgba(0,0,0,0.12) 0px 0px 9px 0px;
  --shadow-lg: rgba(0,0,0,0.06) 0px 6px 6px 0px;
  --shadow-xl: rgba(0,0,0,0.14) 0px 3px 10px 0px;
  --shadow-alt: rgba(0,0,0,0.09) 0px 1px 1px 0px;
}

8. AI Coding Assistant Prompt

# Shopeemobile Design System Specification

You are a Shopeemobile design expert. Build UIs matching their visual language exactly.

## Brand Context
Shopeemobile’s design is built for high-volume retail transactions. It's mobile-first, functional, and optimized for clarity over decoration. Primary actions are loud and colorful, secondary UI is muted but legible.

## Color Palette
- Link Blue: #0000ee — Primary navigation links, inline text links
- White: #ffffff — Page backgrounds, button text, input backgrounds
- Brand Orange: #ee4d2d — Primary buttons, promotional elements, key accents
- Dark Gray: #222222 — High-contrast body text
- Accent Red: #ff424f — Alerts, promotional badges
- Transparent Black: #000000 (2% opacity) — Hover overlays
- Text Secondary: rgba(0,0,0,.65) — Captions, metadata
- Util BG: #f5f5f5 — Neutral backgrounds
- Text Tertiary: #757575 — Disabled states
- Text Secondary Opaque: #595959 — Muted labels
- Link Alt Blue: #0088ff — Alternative links
- Caution BG: #fff8e4 — Warning backgrounds
- Brand Primary Light: rgba(255,87,34,.1) — Hover backgrounds
- Error BG: #fff4f4 — Error states

## Typography
Font Family: Roboto, SHPBurmese, SHPKhmer, Helvetica Neue, Helvetica, Arial, 文泉驛正黑, WenQuanYi Zen Hei, Hiragino Sans GB, 儷黑 Pro, LiHei Pro, Heiti TC, 微軟正黑體, Microsoft JhengHei UI, Microsoft JhengHei

| Element | Size | Weight | Line Height | Transform | Use For |
|---------|------|--------|-------------|-----------|---------|
| Link | 14px | 400 | 1.20 | none | Inline links |
| Button | 14px | 400 | 1.20 | none | Primary buttons |
| Button | 14px | 400 | 1.20 | uppercase | Emphasized buttons |
| Link | 14px | 500 | 1.20 | none | Strong links |
| Caption | 14px | 400 | 1.20 | none | Small text labels |
| Button | 12px | 400 | 1.17 | none | Secondary buttons |
| Caption | 12px | 400 | 1.17 | none | Small labels |
| Link | 12px | 400 | 1.20 | none | Small links |
| Caption | 12px | 400 | 1.20 | uppercase | Emphasized captions |

## Spacing & Grid
Base: 8px grid with micro-adjustments
Tokens: 4px, 5px, 6px, 8px, 10px, 11px, 12px, 14px, 16px, 20px, 22px, 30px, 40px
Use multiples for padding, margins, and gaps.

## Border Radius
- none: 0px — Tables, flat inputs
- xs: 1px — Minimal rounding
- sm: 2px — Default for buttons, cards
- md: 4px — Secondary buttons

## Shadows & Depth
- Default: rgba(0,0,0,0.2) 0px 1px 1px 0px — Small elevation
- Inset light: rgba(0,0,0,0.02) 0px 2px 0px 0px inset — Subtle inset
- Medium: rgba(0,0,0,0.12) 0px 0px 9px 0px — Elevated containers
- Large: rgba(0,0,0,0.06) 0px 6px 6px 0px — Larger cards
- XL: rgba(0,0,0,0.14) 0px 3px 10px 0px — Modals

## Component Specifications

### Primary Button
Default: background #ee4d2d, color #ffffff, padding 0px 10px, radius 2px, border none, shadow rgba(0,0,0,0.09) 0px 1px 1px 0px, font 14px Roboto 400, opacity 0.7  
Hover: darken background slightly  
Focus: outline 2px solid #0088ff  
Disabled: opacity 0.5, cursor not-allowed

### Secondary Button
Default: background #ffffff, color rgba(0,0,0,0.87), padding 4px, radius 4px, border 1px solid rgba(0,0,0,0.26), shadow rgba(0,0,0,0.12) 0px 0px 9px 0px, font 12px Roboto 400

### Navigation Links
Default: color #0000ee, no underline  
Hover: underline or color shift to #0088ff

### Input Fields
Background: #ffffff, text rgba(0,0,0,0.8), border none, radius 0px, padding 12px  
Focus: outline 2px solid #0088ff

### Cards
Background: #ffffff, radius 2px, padding 12px, shadow rgba(0,0,0,0.2) 0px 1px 1px 0px

## Layout & Responsive Rules
Mobile-first, full-width containers, spacing tokens applied consistently.

## Interaction Rules
Transitions: 150ms ease for hover/focus states  
Focus indicators: solid outline in link blue or alt blue  
Disabled states: 50% opacity

## DO List
- Use only defined palette colors
- Maintain 8px grid (allow micro adjustments)
- Keep border radius consistent per component type
- Use Roboto for all text
- Respect opacity rules for disabled states

## DON'T List
- Invent new colors
- Mix large and small radii in same component
- Use heavy shadows
- Shrink text below 12px

## Code Examples

```css
.btn-primary {
  background: #ee4d2d;
  color: #ffffff;
  padding: 0px 10px;
  border-radius: 2px;
  font: 400 14px Roboto, sans-serif;
  border: none;
  box-shadow: rgba(0,0,0,0.09) 0px 1px 1px 0px;
  opacity: 0.7;
  transition: background 150ms ease;
}
.btn-primary:hover { background: #d9441f; }
.btn-primary:focus { outline: 2px solid #0088ff; }
.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }

.btn-secondary {
  background: #ffffff;
  color: rgba(0,0,0,0.87);
  padding: 4px;
  border-radius: 4px;
  border: 1px solid rgba(0,0,0,0.26);
  box-shadow: rgba(0,0,0,0.12) 0px 0px 9px 0px;
  font: 400 12px Roboto, sans-serif;
}

.input {
  background: #ffffff;
  color: rgba(0,0,0,0.8);
  border: none;
  border-radius: 0px;
  padding: 12px;
}
.input:focus { outline: 2px solid #0088ff; }
```

9. Summary

TL;DR — Shopeemobile’s design system is a fast, functional retail UI built on a small set of bold colors, tight typography, and minimal ornamentation. It’s optimized for mobile-first shopping, with clear CTAs and compact layouts.

Brand Keywords — retail-functional, mobile-first, orange-driven, clarity-obsessed, utilitarian