How would you create a playlist from a single song?
Product Sense: How would you create a playlist for a user after they listen to a single song? (in an app like Spotify)
This post is for our Paid Subscribers. If you haven’t subscribed yet,
In this answer
Clarifying Questions
Product Description
Define Goal
User Segmentation
Pain Points
Solutions
User Flow
Solution Prioritisation
Success Metrics
GTM Strategy
Clarifying Questions
Q: Are we generating this playlist in real time as the song plays, or after it ends?
A: Real-time generation is ideal for seamless listening. However, if model inference takes more than 200ms, we should generate optimistically in the background during the last 30 seconds of the seed song so the next track starts instantly. Latency is the silent killer of music discovery features.
Q: Do we have any prior listening history for this user, or is this truly a cold-start scenario?
A: The answer changes the architecture significantly. For a returning user with 90-plus days of history, we have implicit preference signals: skips, replays, saves, search terms, time-of-day patterns, and device context. For a brand-new user or a guest session, the single song is the only signal, so the playlist must rely heavily on audio feature similarity and crowd wisdom from users who played the same seed track.
Q: What is the primary goal: deepening engagement with music the user already loves, or expanding their taste into adjacent genres?
A: Both matter but at different stages of the session. The first 3 to 4 tracks should feel “safe” and closely match the seed song’s energy, so the user does not skip immediately. By tracks 5 to 10, we can gently introduce taste expansion. Getting this ratio wrong is the biggest reason auto-generated playlists fail: users feel bored if it is too similar, and jarred if it diverges too fast.
Product Description
Spotify has over 600 million monthly active users as of early 2025, with roughly 240 million paid subscribers. It hosts more than 100 million tracks and generates approximately 30 percent of all listening time through its algorithmic playlists, Discover Weekly, Daily Mix, and Radio. Despite this, a known UX gap persists: when a user hears a single song they love, whether through a friend’s share, a movie soundtrack, or a brand-new release, the transition from that one song to a coherent, personalised listening session is still clunky.
Today’s “Song Radio” feature works but carries a perception problem. Users frequently report that Spotify Radio feels repetitive, that it replays songs they have heard dozens of times, and that it fails to capture the specific mood of the seed song as opposed to just the artist. A survey by MusicWatch found that 58 percent of streaming users skip more than half the tracks on algorithmically generated playlists. This is a massive engagement loss: every skip is a signal of a broken recommendation and a micro-frustration that chips away at trust in the platform.
I am Priya Venkataraman, a Senior PM at Spotify’s Personalisation team in Stockholm. I have spent the past three years working at the intersection of machine learning and music discovery, specifically focused on improving the cold-start listening experience for both new users and existing users exploring unfamiliar genres. My north star is making every song feel like the beginning of a great listening journey, not a dead end.
Define Goal
The core problem is that a single song carries rich contextual signals: tempo, key, energy level, danceability, lyrical sentiment, and listening context (time of day, device, whether the user searched for it or discovered it passively). Today’s playlist generation does not fully exploit these signals in the moment. It defaults to collaborative filtering based on historical behaviour, which is powerful for repeat users but creates a “familiarity bubble” that stunts music discovery.
The goal I want to focus on is: build a “Seed Playlist” feature that uses the single seed song plus real-time context to generate a 20-track playlist that maximises session length and track completion rate, while introducing at least 2 tracks the user has never heard before but will save.
North star metric: Seed Playlist Session Length, defined as the average number of tracks played to completion (skip rate below 20 percent) in a playlist generated from a single seed song. Current baseline for Song Radio is approximately 4.2 tracks to completion. I want to move this to 7 or more within 6 months of launch. Secondary metric: “New Artist Save Rate” — the percentage of sessions where the user saves at least one previously unheard track. This is the discovery metric that justifies the feature’s long-term strategic value.
User Segmentation
I will focus the core solution on Casual mood listeners first because they represent the largest share of daily sessions and their skip behaviour is the primary drag on session length metrics. Explorer and cold-start users benefit significantly from the same solution but require additional feature layers (novelty controls, onboarding hooks).




