MozaikaProduct

Spotify Mobile — design system & UI screens

Entertainment · 4 screens · spotify.com

This is a music and podcast streaming application for discovering and playing audio content. The screen shows a tabbed navigation system (All, Music, Podcasts, Audiobooks) with a 2-column grid layout below displaying content cards—each card contains artwork and title for shows like "Discover Weekly," "golden hour," "The Bill Simmons Pod," and "daylist." A "Jump back in" section at the bottom shows recently played content with larger cover art cards.

Open in Mozaika →

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/spotify-mobile.

Decoded design system

Spotify Mobile's decoded design system: background #121212, text #FFFFFF, accent #08FF01, link #08FF01, primary #08FF01; type scale h1 34px / h2 22px / body 17px; 4px spacing base; 12px base radius. The single interactive/action color is #08FF01 — used only on interactive or must-notice elements (buttons, links, key highlights), never on large fills.

Color roles

RoleValue
bg#121212
surface#202020
border#353535
text#FFFFFF
text_muted#A4A4A4
primary#08FF01
accent#08FF01
link#08FF01
button_bg#08FF01
button_text#121212

Using these colors

Typography

Spacing

Radii

Shadows (elevation)

Motion

Micro-interactions run at 150ms (dominant) with ease-out.

Native design tokens

TokenValue
--essential-announcement#1278f2
--background-base#121212
--background-elevated-press#191919
--background-elevated-highlight#2a2a2a
--start-gradient-color#000000
--home-chips-start-mask#000000
--essential-positive#1ed760
--text-warning#ffa42b
--decorative-base#fff
--text-positive#1ed760

…and 101 more measured on the page.

Button states (measured)

Layout (measured)

Motion choreography (measured)

Load order: div.otFlatcircle.qeO5DKKK4gB916pl×3 → div.os-scrollbar-handlebutton.e-10451-legacy-buttondiv.os-scrollbar-handlep.e-10451-text×8

Scroll reveal: 3 elements rest at opacity 0, animate in over 0.15s ease-out.

Overlay recipe (measured)

dialog panel: rgba(0, 0, 0, 0) · radius 0px

Input (measured)

height 48px · radius 500px · focus ring 1px auto rgb(16, 16, 16)

Responsive (measured)

Full design system, per-section tokens & DESIGN.md / Tailwind / CSS exports →

Screens