Context
Spotify's Recently Played shelf sits at the top of every user's Home feed — one of the highest-visibility surfaces in the app. It surfaces content automatically based on listening history, but offers no meaningful controls to users who want to manage what appears there. No way to remove an item. No way to pin a favorite. No way to temporarily pause the feed from logging activity.
This matters because the shelf is always visible — on your own screen and on anyone else's. Shared devices, embarrassing listening sessions, and binge sessions that skew recommendations all create real friction with no available resolution. Spotify once surfaced a remove control; it was deprecated, and the community requests never stopped.
"Recently Played is highly visible on Home; users want fast, reversible control over what appears there — without harming discovery."
The Problem
Spotify surfaces what you've played — but gives you no way to shape what stays. The shelf fills itself. A shared device exposes your listening history. A binge session rewrites your recommendations. There's no way to intervene.
Three friction points emerged, each pointing to a different kind of control:
The shelf gets crowded with low-signal content. Users want to surface favorites without digging — but pinning doesn't exist.
Shared devices expose listening history publicly on screen. Users need a way to remove specific items — per-device, not globally.
An atypical listening session shouldn't poison future recommendations. Users need a time-boxed way to pause history logging.
Research & Discovery
Without live access to users, I built a structured proxy research layer: behavioral archetypes synthesized from Spotify community complaint threads, UX forum posts, and App Store reviews; a competitive audit across four platforms; and constraint interviews modeled on what Product, ML, Privacy/Legal, and Engineering typically surface in discovery. The goal was to make decisions that would survive real cross-functional scrutiny — not just design-plausible assumptions.
User Archetypes
Commuter (Ranger Dave)
Core need
Fast cleanup, focus sessions
Pain point
Shelf is noisy; can't quickly return to go-to music
What they need from this design
Pin/Remove with clear, reversible feedback
Parent (shared device)
Core need
Privacy control
Pain point
Kids' listening contaminates recommendations; shelf is visible to others
What they need from this design
Remove + Pause scoped to this device only
Explorer (heavy Home user)
Core need
Minimal friction, fast return
Pain point
Deep listening sessions overwrite shelf with rabbit-hole content
What they need from this design
Pin for fast return; Pause to protect recommendations during deep dives
Competitive Audit
I audited YouTube Music, Apple Music, and Amazon Music against the four controls in scope. Spotify currently offers none of them on-shelf. Remove and Pause bring it to parity; Pin is the differentiator no competitor has touched.
Takeaway: Ship Remove + Pause to reach parity. Add Pin to differentiate.
Point of Reference
User Journey Map
The gap between seeing a control and trusting it.
Mapping Ranger Dave’s 7-stage journey surfaced the highest-friction moment: Stage 3 to Stage 4 — from spotting a long-press affordance to committing to an action. No visual cue that the gesture existed. The shelf gave no signal that anything was interactive. That gap drove the decision to design for immediate discoverability, not power-user access patterns.
Design Decisions
Pin, Remove, and Pause weren't the first ideas — they were what survived the filter. Early directions included global history clearing, a private listening mode, and surfacing controls from Settings. Each was ruled out: too broad in scope, too deep in the navigation stack, or too likely to degrade recommendation signals. What remained were three actions that could live on the shelf, complete in 1–2 steps, and reverse without permanent consequence.
Every decision was then filtered through one core constraint: don't break discovery. The shelf exists to surface content users want — any control that weakens that signal is out of scope.
Screen walkthrough
Long-press any item on the Recently Played shelf to reveal controls. Each action completes in 1–2 taps with an Undo safety net.
The shelf as users see it today. Long-press any item to access controls.
Remove, Don't Suggest Similar, Pause History, Clear All — all in 1–2 taps. Microcopy clarifies scope: “Removing hides it from this shelf.”
The Roses removed. Shelf reflows immediately. Undo toast available for 10 seconds.
Constraints & Trade-offs
Every project has a perimeter. These defined the shape of the solution — and the reasoning behind each decision matters as much as the decision itself.
Editing global listening history
This touches a different surface (Settings → Privacy) and a different stakeholder group. Scoping it here would expand the project beyond one sprint and dilute focus.
Changing ranking algorithms
Recommendation logic is owned by a separate team. Any ranking changes would require cross-team alignment that's out of scope for a shelf-level UX feature.
Profile privacy redesign
The privacy complaints are real, but they're systemic — not solvable by a shelf control. Addressing this here would be a band-aid on a bigger problem.
Pause must be time-boxed
Recommendations & ML: permanent pause degrades training signal quality over time. Time-boxing was the negotiated middle ground.
Remove is device-scoped only
Privacy/Legal: global history deletion requires explicit user confirmation flows and different data handling. Device-scoped remove is a much lighter lift with the same UX benefit for the target use case.
Pin cap at 4
Engineering: a lightweight chip-based sync model breaks down past 4 items. Keeps the feature fast and avoids overbuilding into playlist territory.
Design Principles
These weren't decorative values — they were active filters. Every interaction decision got checked against these four constraints before it moved forward.
Reversible by default
Every action has an undo. No permanent changes without confirmation.
Device scope is explicit
Actions that affect only this device say so in microcopy — always.
On-shelf, 1–2 steps
Controls live in context. No deep navigation, no modal stacks.
Don't break discovery
The shelf exists to surface content. Controls that degrade that signal are out of scope.
Validation Plan
This is a concept project — there were no live metrics to report. What I defined instead was a validation plan: specific, measurable acceptance criteria for each feature, structured around a moderated usability test. These are the thresholds I'd use to gate a launch decision.
Proxy metrics: no live data. These thresholds were validated against task-completion benchmarks from published Spotify usability research and competitive analysis of similar shelf-level controls.
Reflection
The most interesting design challenge here wasn't the UI — it was the scope constraint. Every promising idea (global history delete, recommendation tuning, private mode) pulled toward a much larger, more complex system. The discipline of asking "can this be done on-shelf, in 1–2 steps?" killed more bad ideas than any critique.
Mapping stakeholder priorities did real work. Understanding what Product, ML, Privacy/Legal, and Engineering each cared about meant Remove and Pause were designed with the right constraints from the start — not retrofitted after pushback. Device-scoping Remove and time-boxing Pause weren't compromises; they were the correct decisions once the full system was visible.
In retrospect, I led with Pin — the differentiation play — when Remove was the higher-urgency fix. Real users filing complaints weren't asking for curation; they were asking for relief. I would re-sequence: ship Remove in sprint one, observe what users actually do with it, then build Pin on validated behavior rather than assumed need. That sequencing change is a judgment call, not a scope call — and it took mapping the full constraint picture to see it clearly.
If I had more time
Run moderated usability tests with 5–6 participants across the three archetypes to validate the 1–2 step constraint and surface edge cases around the Pause chip visibility.
Prototype the Pinned row reorder interaction for mobile — drag handles on a touch surface have real accessibility and ergonomics trade-offs that need testing.
Explore the Pause state persistence across devices. The current design is device-scoped, but a user who pauses on mobile and switches to desktop has an ambiguous experience.
Document the handoff spec more thoroughly — 44×44 tap targets, contrast ratios, and the exact Undo timeout window are all unresolved in the current prototype.
Case Study Slides
The full narrative deck — if you want to go deeper on any section.
Use arrow keys or click to advance — no Figma account required.
Next Case Study
Wayfarer — Travel Planning Site






