Design System
Ably logo

Ably

Ably (에이블리) is Korea's MZ-generation style commerce platform — a mobile-native shopping app run by Ably Corporation (에이블리코퍼레이션, founded 2018 by Kang Suk-hoon / 강석훈). The brand pitches itself as "취향 중심 커머스" (taste-driven commerce): every screen is built around the assumption that the user already knows what kind of self they want to be, and the app's job is t

01

Color Palette

Brand

Accent

Neutrals

Semantic

02

Typography

Type Scale

Rendered in system-ui to clearly show scale & weight.

display44px · 700 · 1.25
Design at scale
32px32px · 700 · 1.25
Section heading
heading-lg24px · 700 · 1.4
Subheading
body16px · 400 · 1.5
Body text. The quick brown fox jumps over the lazy dog. Designed for readable line-height in long-form content.
small12px · 400 · 1.5
Supporting text
caption12px · 400 · 1.5
Caption · timestamp · 2026
label10px · 500 · 1.5
BADGE / LABEL

Fonts

Primary
Apple System
Systemno install needed
macOS/iOS default — uses SF Pro automatically.
Not publicly distributed.
Primary
Apple System (Blink)
Systemno install needed
Chrome alias for Apple system font on macOS.
Not publicly distributed.
Primary
Apple SD Gothic Neo
Systemno install needed
Apple system font for Korean.
Not publicly distributed.
Primary
Noto Sans KR
Open · OFL
Install via Google Fonts
Primary
Malgun Gothic
Brand-only
Not in the OMD font registry. Likely a brand-proprietary typeface — check the brand's own design site for source/availability.
Not publicly distributed.
Primary
System UI
Systemno install needed
Generic OS-default font keyword.
Not publicly distributed.
03

Spacing & Shape

Spacing

PurposeValuePreview
Densitycompact
Base unit4px
Section gap24px
Card padding12px
Element gap8px

Border Radius

ElementValuePreview
badgesCompact4px
imageCompact4px
smallCompact4px
buttonsStandard8px
cardsStandard8px
inputsStandard8px
dialogsComfortable12px
contentComfortable12px
bottomLarge16px
searchPill9999px
filterPill9999px
togglesPill9999px

Elevation

Shadow 1
Shadow 2
Shadow 3
Shadow 4
04

Guidelines

Do and Don't guidelines parsed from DESIGN.md.

Do

  • Use Ably Pink (#FA2E5F) for moments of commercial pressure — CTAs, sale prices, urgency badges, notification dots
  • Pin the primary CTA full-width at the bottom of detail/checkout screens with 16px insets and safe-area padding
  • Display product imagery edge-to-edge in the 4-up grid — minimize chrome between cards
  • Use Pretendard 700 for prices and headings; 400 for body and meta
  • Show free-shipping badge ("무료배송") aggressively — it is brand-affirming, not promotional
  • Use pill-shaped chips for filters and categories
  • Reserve filled black (#222222) for applied filter state — keeps pink uncluttered
  • Use the 6-tab bottom nav as the navigation backbone — never hide it on product screens

Don't

  • n't use pink for inactive states or decorative borders — pink is action and urgency, nothing else
  • n't use Ably Pink for the active bottom-tab color — that role belongs to filled black; pink lives in the badge dot
  • n't introduce a desktop-grade layout — Ably is mobile-only; even web mirrors mobile dimensions
  • n't replace Pretendard with system-only stacks — Hangul/Latin alignment depends on Pretendard's design
  • n't add italics — Korean reads worse and the voice doesn't need it
  • n't show "약 ~원" (approximate prices) — commerce shows exact numerals
  • n't apply elevation/shadow to product grid cards — they are flat, separated by gutter and border
  • n't use the realtime/messaging Ably blue palette — wrong brand entirely
05

Components

Buttons

Primary CTA
Background`#FA2E5F`
Text`#FFFFFF`
Bordernone
Radius8px
Padding14px 20px
Font16px / 700 / Pretendard
Activeopacity 0.85
Disabled`#FFC2D2` background, `#FFFFFF` text
Height52px (full-width bottom-bar CTA)
Use: "구매하기" (Buy), "결제하기" (Pay), primary commit action — typically pinned bottom-bar full-width
Secondary Outlined
Background`#FFFFFF`
Text`#222222`
Border1px solid `#DDDDDD`
Radius8px
Padding12px 18px
Font14px / 600 / Pretendard
Use: "장바구니" (Cart), "찜하기" (Wishlist), action paired next to primary
Ghost / Text
Backgroundtransparent
Text`#FA2E5F`
Bordernone
Padding8px 12px
Font14px / 600 / Pretendard
Use: "더보기" (More), inline link actions inside cards
Disabled
Background`#F0F0F0`
Text`#BBBBBB`
Bordernone
Radius8px
Use: Pre-validation state on payment screens

Chips / Filters

Filter
Filter Chip (Default)
Background`#FFFFFF`
Text`#333333`
Border1px solid `#DDDDDD`
Radius9999px
Padding6px 14px
Font13px / 500 / Pretendard
Height30px
Use: "사이즈", "가격", "색상" filter row above product grid
Filter
Filter Chip (Active)
Background`#222222`
Text`#FFFFFF`
Bordernone
Radius9999px
Padding6px 14px
Font13px / 600 / Pretendard
Use: Currently applied filter (uses dark not pink — pink is reserved for commercial pressure)
Category
Category Chip (Scroll row)
Background`#F5F5F5`
Text`#666666`
Bordernone
Radius9999px
Padding8px 16px
Font14px / 500 / Pretendard
Active`#222222` text, weight 700, underline indicator

Badges

무료배송
Free Shipping Badge ("무료배송")
Background`#FFFFFF`
Text`#FA2E5F`
Border1px solid `#FA2E5F`
Radius4px
Padding2px 6px
Font11px / 700 / Pretendard
Use: Top-left overlay on product image (Ably ships everything free, so this is brand-affirming)
쇼킹딜
Hot Deal Badge ("쇼킹딜")
Background`#FA2E5F`
Text`#FFFFFF`
Bordernone
Radius4px
Padding3px 7px
Font11px / 700 / Pretendard
Use: Time-limited urgency, often paired with countdown timer
Discount
Discount Percent Tag
Backgroundtransparent
Text`#FA2E5F`
Font16px / 700 / Pretendard
New
New / Restock Badge
Background`#222222`
Text`#FFFFFF`
Radius4px
Padding2px 6px
Font11px / 700 / Pretendard

Product Card

Grid Card (4-up home)
Grid Card (4-up home)
Background`#FFFFFF`
Image1:1 square aspect, full-bleed top — radius 4px (corners only on top of image, or none on edge-to-edge variant)
Seller name11px / 400 / `#999999`
Product name13px / 400 / `#333333`, 2-line clamp
Wishlist heart22px tap target, top-right of image, default outline `#FFFFFF` with 30% black shadow, active fill `#FA2E5F`
Use: Home / category / search grids — 4 columns mobile
List Card (single column, search results)
List Card (single column, search results)
Background`#FFFFFF`
Padding12px 16px
Image80×80px or 120×120px thumbnail, left
Border-bottom1px solid `#EEEEEE`
Use: Order history, denser scan contexts

Search Input

Top Search Bar
Background`#F5F5F5`
Text`#222222`
Bordernone
Radius9999px
Padding10px 16px 10px 40px (leading icon space)
Font14px / 400 / Pretendard
Placeholder`#999999`
Height40px
Icon16px magnifier, `#666666`, positioned at 12px left inset
Use: Pinned top of Home / Category / Search screens

Bottom Tab Bar

Tab (Inactive)Other
Tab (Inactive)
Background`#FFFFFF`
Icon24px, `#999999` stroke / fill
Label11px / 500 / Pretendard / `#999999`
Border-top1px solid `#EEEEEE`
spec only
Tab (Active)
Icon24px, `#222222` (filled variant)
Label11px / 700 / Pretendard / `#222222`
Notification DotOther
Notification Dot
Background`#FA2E5F`
Diameter6px (no count) or 16px pill with 10px / 700 white numeral (count)
Positiontop-right of icon

Bottom Sheet

Default (filter / variant picker)
Dialog content placeholder
Default (filter / variant picker)
Background`#FFFFFF`
Text`#222222`
Bordernone
Radius16px (top corners only)
Padding20px 16px (top), 20px 16px (bottom)
Shadow`0px -4px 16px rgba(0, 0, 0, 0.08)`
Handle36px × 4px pill at `#E5E5E5`, top-center, 8px from top edge
Use: Size/color picker, filter panel, sort options — sits over modal backdrop `rgba(0,0,0,0.5)`

Toasts

Default
Default
Background`#222222`
Text`#FFFFFF`
Bordernone
Radius8px
Padding12px 16px
Font13px / 500 / Pretendard
Use: Auto-dismiss 2s ("찜에 추가되었어요", "쿠폰이 적용되었어요")

Dialogs

Centered Modal
Dialog content placeholder
Centered Modal
Background`#FFFFFF`
Text`#222222`
Bordernone
Radius12px
Padding24px 20px
Width280–320px
Title16px / 700, Body: 14px / 400 / `#666666`
Buttons rowtwo-up — left cancel (Secondary Outlined), right confirm (Primary CTA at reduced height 44px)