SoundCloud Mobile — design system & UI screens
Music streaming home feed featuring curated playlist cards (Daily Drops, Weekly Wave) with hero images and update frequency, followed by an editorial section with themed playlists in a carousel layout, and a now-playing player at bottom. Official Google Play listing screenshot.
This is a static, crawlable rendering for search & AI engines. The interactive version — filters, live decode console, copy & export — is at https://mozaika.design/website/soundcloud-mobile.
Decoded design system
SoundCloud Mobile's decoded design system: background #121212, text #FFFFFF, accent #4D230D, link #4D230D, primary #4D230D; type scale h1 34px / h2 22px / body 17px; 8px spacing base; 12px base radius. The single interactive/action color is #4D230D — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.
Color roles
| Role | Value |
|---|---|
| bg | #121212 |
| surface | #202020 |
| border | #353535 |
| text | #FFFFFF |
| text_muted | #A4A4A4 |
| primary | #4D230D |
| accent | #4D230D |
| link | #4D230D |
| button_bg | #4D230D |
| button_text | #121212 |
Using these colors
- Action color
#4D230D— the single interactive color; only on things you click or must notice, never large fills. primary,accent,link,button_bgare all#4D230D— one role, not several (the action color).- accent
#4D230D— THE accent / action color — interactive & must-notice only (buttons, links, focus, one key highlight); never large fills or backgrounds. Scarcity is what makes it read as designed.
Typography
- h1: 34px
- h2: 22px
- body: 17px
Spacing
- base unit: 8px
- scale: 4px, 6px, 8px, 12px, 13px, 16px, 18px, 24px, 30px, 32px
Radii
- base: 12px
- button: 12px
Motion
Micro-interactions run at 100ms (dominant) with ease.
- durations: 100ms · 200ms · 300ms
- easings:
ease·linear - animated properties: opacity, visibility, transform, background
Native design tokens
| Token | Value |
|---|---|
--white-color | #fff |
--button-secondary-active-font-color | #121212 |
--support-bg-color | #558b2f |
--button-primary-background-color | #121212 |
--button-tertiary-disabled-font-color | #121212 |
--success-color | #008850 |
--link-secondary-hover-color | hsla(0,0%,40%,0.4) |
--input-invalid-background-color | #f3f3f3 |
--button-primary-loading-background-color | #121212 |
--artist-color | #5a45fd |
…and 110 more measured on the page.
Button states (measured)
- primary hover: color
rgba(18, 18, 18, 0.4) - primary focus: box-shadow
rgb(4, 77, 210) 0px 0px 0px 2px inset
Layout (measured)
- container max-width:
1240px
Motion choreography (measured)
Load order: header.header → div.onetrust-pc-dark-filter → div.otFlat → span.sc-artwork×12 → div.frontHero__carousel → div.frontHero__carouselNavDo×2
Scroll reveal: 40 elements rest at opacity 0, animate in over 0.1s ease.
Input (measured)
height 36px · radius 3px
Responsive (measured)
- breakpoints: 1079px · 1239px
- mobile (390px): hero 28px · nav inline
Full design system, per-section tokens & DESIGN.md / Tailwind / CSS exports →