Watcha
Watcha
watcha
Design System
Watcha logo

Watcha

Watcha is Korea's taste-driven streaming service — the one that started as a movie-rating site (왓챠피디아) and turned a decade of star ratings into a recommendation engine, then a full OTT. Its interface is built for one job: get a dark room out of the way so the poster art can glow. The browse experience opens on a near-pure black canvas (#000000) where rows

01

Color Palette

Brand

Accent

Neutrals

Semantic

02

Typography

Type Scale

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

display44px · 600 · 1.25
Design at scale
32px32px · 600 · 1.25
Section heading
heading-lg24px · 600 · 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
Inter
Open · OFL
Designed by Rasmus Andersson. Variable font with full weight range.
Install via Google Fonts
03

Spacing & Shape

Spacing

PurposeValuePreview
Densitycomfortable
Base unit8px
Section gap32px
Card padding12px
Element gap12px

Border Radius

ElementValuePreview
buttonsTight4px
inputsTight4px
posterTight4px
surfaceSoft8px
snackbarsSoft8px
dialogsComfortable12px
badgesPill9999px
togglesPill9999px
iconCircle50%
avatarsCircle50%

Elevation

Subtle
Default
Elevated
Floating
Modal
04

Guidelines

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

Do

  • Use #F82F62 for the one primary interactive element per surface — login, subscribe, the active star.
  • Keep the canvas #000000 and let poster art supply all the color.
  • Step hierarchy through the gray scale (#FFFFFF → #999CA1 → #6B6E73), not just weight.
  • Use 4px radius on buttons and posters; 50% on icon circles.
  • Render rating numbers and counts as first-class typography.

Don't

  • n't introduce a second saturated accent — the pink is the only hue that competes with posters.
  • n't put borders or drop shadows on poster cards; the black gutter separates them.
  • n't use the brighter marketing pink (#FF0558) as a UI fill — that's the logo/promo pink.
  • n't brighten the canvas toward gray; the cinema-black is the brand.
  • n't crowd the title-detail page — synopsis and rating UI need breathing room.
05

Components

Buttons

Primary CTA (로그인 / 구독)
Background`#F82F62`
Text`#FFFFFF`
Bordernone
Radius4px
Padding8px 16px
Font13px / 500 / Pretendard
Hoverbackground `#DE2A60`
Use: Login, subscribe, "지금 시청" primary action — observed 32px tall in header
Secondary / Ghost
Backgroundtransparent
Text`#FFFFFF`
Border1px solid `rgba(255,255,255,0.4)`
Radius4px
Padding8px 16px
Font13px / 500 / Pretendard
Use: "더보기", secondary actions on poster-detail overlays
Icon Button (close / dismiss)
Background`#28292A`
Text`#999CA1`
Bordernone
Radius50%
Size~30px circle
Use: Modal close, carousel chevrons — observed `rgb(40, 41, 42)` bg, `rgb(153, 156, 161)` glyph
Play (overlay)
Background`rgba(255,255,255,0.92)`
Text`#000000`
Bordernone
Radius50%
Use: Center-of-poster play affordance on hover

Inputs

Text Field (dark)
Background`rgba(255,255,255,0.06)`
Text`#FFFFFF`
Border1px solid `rgba(255,255,255,0.16)`
Radius4px
Padding12px 14px
Font15px / 400 / Pretendard
Focusborder `#FFFFFF`; error border `#F25C5C`
Placeholder`#999CA1`
Use: Login email/password, search field

Cards

image fills
Poster Card
Backgroundtransparent (image fills)
Bordernone
Radius4px
Hoverscale ~1.04 + title/metadata overlay fade-in
Aspect2:3 poster
Use: The atomic unit of every browse row — no chrome, the art is the card
Surface Card (settings / account)
Surface Card (settings / account)
Background`#1A1A1A`
Bordernone
Radius8px
Padding20px
Use: Account, billing, settings panels on black canvas

Badges / Chips

Genre
Genre / Tag Chip
Background`rgba(255,255,255,0.08)`
Text`#FFFFFF`
Bordernone
Radius999px
Padding4px 12px
Font12px / 500 / Pretendard
Use: Genre filters, mood tags
Rating
Rating Badge
Backgroundtransparent
Text`#F82F62`
Font12px / 700 / Pretendard
Use: Average rating number beside the star

Tabs / Nav

spec only
Top Nav Item
Font14px / 500 / Pretendard
Active text`#FFFFFF`
Inactive text`#999CA1`
Indicatornone / weight + color shift
Use: 영화 / 시리즈 / 왓챠피디아 switcher

Toasts

Snackbar
Snackbar
Background`#28292A`
Text`#FFFFFF`
Radius8px
Padding12px 16px
Use: "평가가 저장되었어요" type transient feedback, 3s auto-dismiss

Dialogs

Modal
Dialog content placeholder
Modal
Background`#1A1A1A`
Text`#FFFFFF`
Radius12px
Padding24px
Backdrop`rgba(0,0,0,0.7)`
Use: Login, plan selection, "이 작품 평가하기"