Spotify · Song Radio

Humanizing The Algorithm

While Spotify's Song Radio relies on behavioral data for recommendations (like searching, listening, skipping, and saving), it does not take into account short-term changes in user behavior. As a result, it fails to give recommendations that match the evolving needs of users. Adding a tool that captures real-time preferences could generate better results and lead to greater satisfaction with the app.

  • RoleUX Researcher
  • MethodsSurvey, Card Sorting, Personas, Usability Testing
  • ToolsQualtrics, Jamboard, Figma, Teams

Problem

  • Listeners were unhappy with Song Radio recommendations.
  • Song Radio does not anticipate changes in taste, mood, or interest.

Solution

Introducing filters would allow users to describe their needs explicitly, increasing the likelihood of positive outcomes.

Outcome

New and existing users struggled to understand the new interface, resulting in poor usability.

The Full Story

Section 1: ProblemWhat was the issue at hand?

I discovered that Spotify listeners were .

Section 2: InsightsWhat did the research show?

Spotify's recommendation system couldn't predict how moods, tastes, and situations change in life, missing a key factor in the listening experience. Allowing listeners to share what they want in the moment could fill that gap. Together with behavioral data, live feedback would give Song Radio a fuller picture of user needs and make recommendations far more enjoyable.

Section 3: SolutionHow was this addressed?

I introduced filters into the Song Radio system in order to receive real-time data about listener preferences and accommodate their needs. The idea was that listeners had to follow four steps:

  1. Search

    Find a song to start from

  2. Select

    Choose a

  3. Submit

    Pick

  4. Listen

    Enjoy the tailored playlist

Section 4: ApproachWhat was the plan of action?

Filters only work if both the front and back end support them. So, I worked in three phases to make sure every layer was ready.

  1. FrameworkSet up the logic
  2. DesignBuild user interface
  3. ResearchTest prototypes
Section 5: ProcessHow was this accomplished?

Framework

Before designing anything, I behind the scenes.

How I set up the navigation and algorithm
Navigation

I used card sorting to create filter labels that are easy to recognize.

Algorithm

I built a decision map to show how each filter affects the quality of recommendations.

Decision map showing how sound types and the four filter labels route through metadata, audio analysis, and natural language processing to a playlist

Design

With the navigation and algorithm in place, I .

How I designed the interface
Personas

I set three ground rules: Song Radio must (1) be easy to find, (2) be easy to understand, and (3) resonate with all users.

Wireframes

I developed low and mid fidelity wireframes, staying true to Spotify's identity.

Task Flow

I mapped the process to complete onboarding, use filters, view saved content, and access listening history.

Task flow covering onboarding, getting started, saved content, and listening history

Research

To see if the interface worked, I .

How I tested the prototype
Prototype

I built a static prototype covering every screen in the task flow.

Usability Testing

I tested the design with new, regular, and expert users to see how it worked across experience levels.

User Flow

Participants completed four tasks remotely while I recorded their actions.

Analysis

To make sense of the data, I .

How I analyzed the data

I sorted every goal and rated its difficulty.

Section 6: ResultsWhat was the outcome?
  • There was a for new and existing users.

  • New users struggled with the interface .

  • The filters page was really .

Section 7: TakeawaysWhat was the lesson?
  1. Build on the product's existing patterns. Spotify's visual language is instantly recognized, so new features should feel like a part of it.

  2. Onboarding matters as much as the feature. Tooltips, tutorials, and help buttons would make filters approachable for new listeners.