Curated summary
Inside the Archive: The Tech Behind Your 2025 Wrapped Highlights | Spotify Engineering
Spotify’s 2025 Wrapped Archive identified up to five remarkable listening days for each eligible user and turned them into personalized, LLM-generated stories. A distributed pipeline, carefully designed prompts, model distillation, and massive-scale pre-generation made it possible to create roughly 1.4 billion reports before launch. The system prioritized factual grounding, creative consistency, safety, and reliable parallel storage.
Identifying Remarkable Listening Days
- Spotify used a priority-ordered set of heuristics to evaluate each user’s full year of listening.
- Straightforward categories included:
- Biggest Music Listening Day
- Biggest Podcast Listening Day
- Biggest Discovery Day, based on first-time artists
- Biggest Top Artist Day
- Biggest Top Genre Day
- More nuanced categories detected:
- Nostalgic listening and throwback-heavy sessions
- Unusual listening patterns that differed from a user’s typical taste
- Contextual dates such as birthdays and New Year’s Day
- Candidate days were ranked by narrative potential and statistical strength, reducing hundreds of millions of events to as many as five standout days per user.
- A distributed data pipeline aggregated the results and stored listening data in object storage.
- Messaging queues then moved each user’s data asynchronously into report generation.
Prompt Engineering for Reliable Stories
- Spotify spent more than three months iterating on prompts and evaluating edge cases.
- The system prompt established:
- Traceability to real listening behavior
- A witty, sincere, and quietly playful tone
- Safety constraints excluding references to drugs, alcohol, sex, violence, and offensive language
- User prompts supplied:
- Detailed daily listening logs
- Precomputed statistics, since LLMs are unreliable at arithmetic
- Overall Wrapped data
- The remarkable-day category
- Previously generated reports to reduce repetition
- The user’s country for appropriate spelling and vocabulary
- Outputs were improved through prototype comparisons, LLM-based judging, human review, and feedback from creative, technical, and safety teams.
Distilling the Model for Scale
- Larger frontier models produced strong results during prototyping but were too expensive for more than a billion generations.
- Spotify generated high-quality reference outputs and curated them into a reviewed “gold” dataset.
- A smaller, faster production model was fine-tuned on that dataset.
- Direct Preference Optimization (DPO), based on curated human A/B evaluations, further aligned the smaller model with the preferred output style.
- The resulting model achieved preference performance comparable to the larger baseline.
Generating 1.4 Billion Reports
- Approximately 350 million users were eligible, with up to five reports each.
- Spotify pre-generated about 1.4 billion reports before Wrapped launch.
- The system sustained thousands of model requests per second over several days.
- After remarkable days were computed, snapshots were published to a pub/sub queue.
- Reports were generated sequentially per user so earlier reports could inform later ones and prevent repetition.
- Real-time dashboards tracked throughput, reliability, errors, and projected completion time.
- The generation engine ran continuously for four days, followed by checks for missing reports, inconsistencies, and necessary re-generation.
Designing Storage for Concurrent Writes
- Completed reports were stored in a distributed, column-oriented key-value database optimized for high-throughput writes.
- Each user occupied a single row, with separate columns representing completed remarkable days.
- Instead of maintaining a serialized list—which could cause race conditions during read-modify-write operations—each date received its own column qualifier in
YYYYMMDDformat. - Independent reports could therefore be written concurrently to separate cells without locks or coordination.
- Report content was written first, followed by lightweight metadata marking the report complete.
- This ordering prevented the system from exposing a completion marker before the underlying report was safely stored.
Practical Conclusion
Building Wrapped Archive required treating creative AI generation as a large-scale production system: ground outputs in structured data, use smaller specialized models when volume demands it, evaluate continuously, and design storage schemas that make concurrency safe by default.
Related reading
Continue with another curated summary.