Wavve is Korea's homegrown OTT — the merger of SK Telecom's oksusu and the terrestrial broadcasters' POOQ into one streaming home for Korean drama, variety, news, and live TV.
Needs work: conflict unresolved · freshness conflict · proof incomplete · tier1 source missing · token source unverified · verification v2 missing
Wavve is Korea's homegrown OTT — the merger of SK Telecom's oksusu and the terrestrial broadcasters' POOQ into one streaming home for Korean drama, variety, news, and live TV. Its interface is the classic streaming dark room, but with a distinctly Wavve signature: instead of the near-pure black of most OTTs, Wavve sits on a deep midnight blue canvas, and its interactive accent is a vivid, electric brand blue #1351F9. The whole identity is built from blue — "from daytime to midnight," as the brand's own rebrand language put it: the deep blue background minimizes eye fatigue during long viewing, while the bright brand blue is reserved as a point color to draw attention and carry legibility. The atmosphere is "a wave you ride into the evening" — calm, immersive, and unmistakably blue, where rows of poster art glow against a dark blue tide.
What defines Wavve visually is blue all the way down with poster art as the light source. The browse experience is the familiar OTT grid — billboard hero up top, horizontal rows of 16:9 and 2:3 thumbnails below — but the surrounding chrome is suppressed to thin white-and-gray text on the dark blue field, so the catalog itself supplies the energy. The brand blue #1351F9 does the interactive work: the primary play/subscribe CTA, the active tab, selection, the progress bar. A set of genre-tuned secondary colors and 3D content icons (from the rebrand system) add variety without breaking the blue spine. This is content-firehose OTT, but with a calmer, bluer temperament than the louder red incumbents.
Typography is the modern Korean product stack — Pretendard-led with Apple SD Gothic Neo / Malgun Gothic fallbacks (brand surfaces may use a custom face) — rendered white-and-gray on the dark blue canvas. Numbers matter for runtime, episode counts, and ratings, but the type's main job is to recede so the posters and the blue accent carry the screen.
Key Characteristics:
#1351F9 as the interactive accent — play/subscribe CTA, active tab, progress, selectionWavve's primary blue #1351F9 is the brief-provided brand blue, consistent with the documented rebrand ("deep blue background + brand blue point color"). Wavve publishes no public UI token layer; the dark-blue surface scale and grays below follow the documented blue-led dark-theme direction + standard OTT conventions. Treat surface hexes as conventional, the brand blue as the verified anchor.
#1351F9): The signature brand color (RGB 19, 81, 249). Primary play/subscribe CTA, active tab, selection highlight, progress bar, focus ring. The single workhorse accent.#3A6CFF): Hover / focused-on-TV variant of the brand blue.#0E3FCC): Pressed state.#0A0E1A): Page background — the deep blue-black base behind every row (a blue-tinted near-black, not pure #000000).#141A2B): Cards, panels, settings surfaces. One step above the canvas.#1F2742): Dropdowns, hovered rows, modal sheets, icon-button surfaces.#FFFFFF): Titles, primary labels, active nav.#A7AEC0): Metadata, inactive labels, episode/runtime info (blue-tinted gray).#6B7286): Disabled labels, fine print, low-emphasis captions.rgba(255,255,255,0.08)): Hairline separators on dark blue.rgba(255,255,255,0.16)): Default input outline; brightens toward white / brand blue on focus.#F5444C): Live-TV red dot — the one warm exception, reserved for live broadcast indicators.#2BC56F): Download-complete, subscription-confirmed (used sparingly).#FF7A45): Playback errors, payment failures — kept distinct from the brand blue.Pretendard, "Apple SD Gothic Neo", "Malgun Gothic", -apple-system, BlinkMacSystemFont, "Noto Sans KR", sans-serif| Role | Size | Weight | Line Height | Use |
|---|---|---|---|---|
| Billboard Title | 32–40px | 700 | 1.25 | Hero/billboard title (image-overlaid) |
| Section Heading | 20–22px | 700 | 1.35 | Row headers (오늘의 인기, 실시간 TV) |
| Card Title | 15–16px | 600 | 1.4 | Poster captions, list titles |
| Body | 14px | 400 | 1.5 | Synopsis, descriptions |
| Label / CTA | 15px | 600 | 1.4 | Play/subscribe button, tabs |
| Caption | 12px | 400 | 1.4 | Metadata (연도 · 장르 · 등급), runtime |
| Live Label | 12px | 700 | 1.4 | LIVE / 실시간 indicators |
#FFFFFF → #A7AEC0 → #6B7286.LIVE indicator.Wavve publishes no public component spec; geometry below follows the documented blue-led dark-theme direction + standard OTT conventions. Treat as conventional, brand blue as the verified anchor.
Primary CTA (Play / Subscribe)
#1351F9#FFFFFF#3A6CFF#0E3FCCrgba(19,81,249,0.4), text rgba(255,255,255,0.6)Secondary / Ghost (on dark)
rgba(255,255,255,0.10)#FFFFFFrgba(255,255,255,0.24)Icon Button (on dark)
rgba(255,255,255,0.10)#FFFFFFText Field (dark)
rgba(255,255,255,0.06)#FFFFFFrgba(255,255,255,0.16)#A7AEC0#1351F9#FF7A45Poster Card
Surface Card (settings / account)
#141A2BGenre / Tag Chip
rgba(255,255,255,0.10)#FFFFFF#1351F9 bg + white textLIVE Badge
#F5444C#FFFFFFTop Nav Item
#FFFFFF#A7AEC0#1351F9 underline (active) or weight shiftContinue-Watching Bar
rgba(255,255,255,0.24)#1351F9Snackbar
#1F2742#FFFFFF0px 4px 16px rgba(0,0,0,0.4)Modal
#141A2B#FFFFFFrgba(0,0,0,0.7)Verified: 2026-05-27
Tier 1 sources: wavve.com (WebFetch 2026-05-27 returned minimal markup — confirmed Wavve OTT dark-theme positioning; no token doc exposed). Documented rebrand direction (BAT / Brds.life case studies): "deep blue background to minimize optic fatigue, brand blue as point color, secondary colors from daytime to midnight, 3D genre icons." Brand blue #1351F9 is brief-provided, consistent with the documented blue-led system. Operated by Wavve (SK Telecom + terrestrial broadcasters; oksusu + POOQ merger).
Tier 2 sources: getdesign.md/wavve — not checked. styles.refero.design — not checked.
Conflicts unresolved: No live computed-style token inspection (wavve.com returned minimal markup, likely client-rendered behind auth). All §4 component values + the dark-blue surface scale are flagged conventional; brand blue #1351F9 is the one verified anchor. A future UPDATE pass with browser inspection (logged-in browse surface) should re-confirm component geometry and the exact midnight-blue canvas hex.
Wavve is media-dense, chrome-sparse — posters pack tightly (6–8 per desktop row) while text chrome stays minimal on the blue field. Title-detail and player surfaces open up with more breathing room around synopsis, cast, and controls.
On a dark blue canvas, Wavve communicates depth through surface lightness, not shadow.
| Level | Treatment | Use |
|---|---|---|
| Base | #0A0E1A | Page canvas |
| Raised 1 | #141A2B | Cards, panels, modals |
| Raised 2 | #1F2742 | Dropdowns, hovered rows, icon-button surfaces, snackbars |
| Modal | #141A2B + rgba(0,0,0,0.7) backdrop | Dialogs, plan sheets |
Drop shadows are mostly absent — on a dark blue field they'd barely register. The poster-hover scale (~1.05) plus a bottom title-overlay gradient (linear-gradient(transparent, rgba(10,14,26,0.9))) is the only lift the catalog needs. Brand blue glows (focus rings, progress) read as the interactive "light" on the dark blue surface.
#1351F9 for the one primary interactive element per surface — play, subscribe, active tab, progress#0A0E1A) and let poster art supply the color#FFFFFF → #A7AEC0 → #6B7286)#000000) — the canvas is a deep blue, that's the brand| Name | Width | Key Changes |
|---|---|---|
| Mobile | <768px | ~2.5 posters per row (peeking the next), bottom tab nav |
| Tablet | 768–1024px | ~4 posters per row, condensed top nav |
| Desktop / TV | >1024px | 6–8 per row, full top nav, max ~1280px; TV adds large focus rings in brand blue |
object-fit: cover, lazy-loaded#1351F9 (hover #3A6CFF, pressed #0E3FCC)#0A0E1A; raised #141A2B / #1F2742#FFFFFF; secondary #A7AEC0; tertiary #6B7286rgba(255,255,255,0.16), focus #1351F9#F5444C; success #2BC56F; error #FF7A45#1351F9, white 15px/600 text, 6px radius, 10px 20px padding, ~40px tall. Hover bg #3A6CFF, pressed #0E3FCC. No shadow."#0A0E1A bg, horizontal carousel of 2:3 poster cards (6px radius, no border, ~12px gutter). On hover scale 1.05 + bottom gradient linear-gradient(transparent, rgba(10,14,26,0.9)) with title (16px/600 white). Partially-watched cards show a 3px #1351F9 progress fill on a rgba(255,255,255,0.24) track at the bottom."rgba(255,255,255,0.06), 1px border rgba(255,255,255,0.16), 6px radius, white 15px text, placeholder #A7AEC0. Focus border #1351F9. Error border #FF7A45."#F5444C, white 11px/700 LIVE, 4px radius, 1px 6px padding — for 실시간 TV only."#1351F9 = play/subscribe/active/progress only#0A0E1A, never pure blackWavve speaks like a relaxed friend recommending what to watch tonight — warm, easygoing, second-person, never pushy. The default register is soft-polite 해요체 (찜 목록에 추가했어요, 이어서 볼까요?), the friendly-but-respectful Korean ending, never stiff ~습니다 except in billing/legal copy. Korean is the unquestioned primary voice; English appears in title names and the wordmark. The copy is about tonight, what you were watching, what's on live now — the easy ritual of settling into the evening.
| Context | Tone |
|---|---|
| CTAs | Short Korean verb (재생, 구독하기, 지금 시청, 이어보기). |
| Continue-watching | Inviting, second person (이어서 볼까요?, 보던 작품 이어보기). |
| Success toasts | Past-tense single sentence, soft ending (찜 목록에 추가했어요). No emoji on system chrome. |
| Live nudges | Calm immediacy (지금 실시간으로 방송 중이에요). |
| Error messages | Blameless, specific, one action (재생할 수 없어요. 잠시 후 다시 시도해 주세요). Never 오류가 발생했습니다. |
| Empty states | Warm + one action (아직 찜한 작품이 없어요. 마음에 드는 작품을 담아보세요). |
| Billing / legal | Formal 합니다 register — the single exception. |
Forbidden phrases. 오류가 발생했습니다 (generic error), exclamation-as-pressure on CTAs (지금 구독하세요! → 구독하기), marketing superlatives on chrome, English-first strings on Korean surfaces, emoji on system toasts.
Voice samples.
재생 / 지금 시청 — common OTT play CTA pattern. 이어서 볼까요? — illustrative continue-watching prompt. 찜 목록에 추가했어요 — illustrative watchlist-saved toast. 지금 실시간으로 방송 중이에요 — illustrative live-nudge copy. Wavve (웨이브) launched in September 2019 from the merger of SK Telecom's oksusu and POOQ — the joint streaming platform of Korea's terrestrial broadcasters (KBS, MBC, SBS). That lineage is the brand's whole position: where global OTTs compete on original spend and catalog size, Wavve is the Korean streaming home — the place for Korean drama, variety/예능, news, and, crucially, live terrestrial and cable TV alongside on-demand. The "실시간 TV" tab and the LIVE indicator aren't afterthoughts; they're the heritage.
The design follows from the name. A "wave" carried into "midnight" became a literal blue identity: a deep blue canvas to ride into the evening's viewing, with a bright brand blue #1351F9 as the point color that catches your eye and carries legibility. The rebrand explicitly built a blue system that "responds to multiple screens including dark mode," added secondary colors "inspired by colors from daytime to midnight," and a set of 3D genre icons to keep the blue spine varied across drama, variety, film, and live. The result is an OTT that feels calmer and bluer than the louder red incumbents — Korean evening television, reimagined as an immersive blue stream.
What Wavve refuses: the near-pure-black, originals-first maximalism of the global giants (Wavve keeps a warmer, bluer, live-TV-inclusive identity), and the cold gray of legacy IPTV menus. It's a blue tide you settle into at night, with the live channel always one tab away.
#0A0E1A (never pure black); #1351F9 is the sole interactive accent.Personas are fictional archetypes informed by publicly described Korean OTT user segments, not individual people.
현지 (Hyun-ji), 31, Seoul. Watches Korean dramas and 예능 every evening. Uses Wavve specifically for fast access to terrestrial broadcaster content and the occasional live broadcast. Resumes from continue-watching nightly, judging the blue progress bar at a glance.
태영 (Tae-young), 45, Daejeon. Sports and news viewer. Wavve's 실시간 TV tab is why he subscribes — live channels in one app, no separate IPTV remote. Picks by what's on now, not by browsing the VOD grid.
유나 (Yu-na), 24, Gwangju. Casual binge-watcher on mobile. Came for a buzzy Korean original/exclusive, stayed for the easy continue-watching flow. Browses posters in bed, peeking the next card in each row, taps the blue 재생.
| State | Treatment |
|---|---|
| Empty (no watchlist) | Single #A7AEC0 warm line (아직 찜한 작품이 없어요) + one brand-blue CTA (작품 둘러보기). No clutter on the blue canvas. |
| Empty (search no results) | Single #A7AEC0 caption (검색 결과가 없어요). No spammy suggestions. |
| Loading (browse first paint) | Poster-shaped skeleton blocks at #141A2B with a subtle shimmer toward #1F2742, layout-matched to rows. |
| Loading (playback buffer) | Centered ring spinner in #1351F9 over the dimmed player; existing chrome stays. |
| Error (playback) | Centered #FFFFFF line (재생할 수 없어요. 잠시 후 다시 시도해 주세요) + ghost retry. Warm #FF7A45 reserved for the icon. |
| Error (inline field) | Input border switches to #FF7A45, caption below in #FF7A45 12px, one actionable sentence. |
| Success (watchlist saved) | Snackbar #1F2742 white text (찜 목록에 추가했어요), 3s auto-dismiss. |
| Success (subscribed) | Dedicated confirmation surface — blue checkmark, plan name + next-billing date, single 확인. |
| Skeleton | #141A2B blocks at exact poster dimensions, 6px radius, ~1.2s shimmer to #1F2742. |
| Disabled (button) | Brand-blue CTA → bg rgba(19,81,249,0.4), text rgba(255,255,255,0.6). Geometry unchanged. |
Wavve's motion is calm and cinematic — slow fades and gentle scales that suit settling into an evening, never bounce.
Durations:
| Token | Value | Use |
|---|---|---|
motion-instant | 0ms | Toggle/checkbox flips |
motion-fast | 150ms | Hover lift, button press, chip select |
motion-standard | 250ms | Poster hover scale, row reveal, modal open |
motion-slow | 400ms | Billboard crossfade, page-to-detail / player transition |
Easings:
| Token | Curve | Use |
|---|---|---|
ease-standard | cubic-bezier(0.4, 0, 0.2, 1) | Default — most motion |
ease-enter | cubic-bezier(0.0, 0.0, 0.2, 1) | Modals, sheets, toasts appearing |
ease-exit | cubic-bezier(0.4, 0.0, 1, 1) | Dismissals |
Spring stance. Spring/overshoot is avoided — Wavve is a calm blue evening stream; kinetic bounce would undercut the immersive mood.
Signature motions.
1.0 → 1.05 over motion-standard / ease-standard while a bottom blue-tinted gradient + title overlay fades in, and any continue-watching progress bar glows brand blue. No shadow pulse.motion-slow / ease-standard, never slide — a crossfade reads as a cinema dissolve into the evening.#F5444C dot pulses gently (opacity 1.0 ↔ 0.6) on a slow loop — the one warm, kinetic signal, marking what's broadcasting now.prefers-reduced-motion: reduce, scales and crossfades collapse to instant opacity changes; the live pulse becomes static; shimmer skeletons become static #141A2B. No exceptions.Wavve is Korea's homegrown OTT — the merger of SK Telecom's oksusu and the terrestrial broadcasters' POOQ into one streaming home for Korean drama, variety, news, and live TV. Its interface is the classic streaming dark room, but with a distinctly Wavve signature: instead of the near-pure black of most OTTs, Wavve sits on a deep midnight blue canvas, and its interactive accent is a vivid, electric brand blue #1351F9. The whole identity is built from blue — "from daytime to midnight," as the brand's own rebrand language put it: the deep blue background minimizes eye fatigue during long viewing, while the bright brand blue is reserved as a point color to draw attention and carry legibility. The atmosphere is "a wave you ride into the evening" — calm, immersive, and unmistakably blue, where rows of poster art glow against a dark blue tide.
Do and Don't guidelines parsed from DESIGN.md.
Do
Don't