moodmix / 2026
2026 · Machine learning · Product
Moodmix
Tell it your mood. Wake up with the playlist.
Overview
A mood-to-music pipeline that turns a lightweight classifier into an immediate listening action — input to playlist with no dashboard dead end.
- Role
- ML product · classification to integration
- Year
- 2026
- Stack
- Spotify API · Python · classification · recommendation
- Source
- GitHub ↗

A prediction nobody can use is a demo
The useful part was not predicting mood in isolation, but turning that signal into something a person could actually use without extra friction. Mood is not ground truth: it is subjective and context-dependent, so a classifier trained on tidy labels inherits their tidiness and nothing more. I treated the playlist as inspired by the mood, never graded against it — predictions are suggestions, not verdicts.
The full loop, input to library
Input to mood classifier to track selection to the Spotify API to a playlist in the user's library. Each stage degrades gracefully so a weak signal upstream never becomes a blank screen downstream — low-confidence outputs fall back to sensible defaults, converting model uncertainty from a bug into a personality trait.
Story visual — The full loop, input to library
image slot — asset coming later
Surviving contact with someone else's API
Detail view — Surviving contact with someone else's API
image slot — asset coming later
Integration got the same care as inference: OAuth, token refresh, scope negotiation, rate limits, and error states for every one of them. The ML portion of the codebase is smaller than the portion whose only job is surviving Spotify — which is the honest ratio of nearly every shipped ML product.
Structure
- 01
Mood input
- 02
Classifier
- 03
Track selection
- 04
Spotify API
- 05
Playlist
The result
The project became a compact example of ML as product design: infer, decide, act. The ML portion of the codebase is smaller than the portion whose only job is surviving contact with someone else's API — and from the user's side, that integration work is the product while the model is a rumor inside it.
- mood classification
- playlist automation
- end-to-end flow
If I built it again
Moodmix taught me the notebook-to-product gap firsthand: the model earns the demo, everything else earns the user. Next I would add listening-history personalization so the same mood resolves differently for different listeners.
Further reading + source