Problem Statement
Pilots listening to new music often bounce after the first 15 seconds. We built the Music Recommendation Platform to respond to that drop-off in real time by mixing content-based filtering with reinforcement feedback.
System Design
- Intent Detection – A mini BERT classifier interprets natural-language requests such as "late-night coding" or "jazz for brunch" into seed vectors.
- Candidate Generation – Spotify audio features feed a similarity search powered by FAISS.
- Interactive Feedback – Each thumbs-up or skip updates a contextual multi-armed bandit that reprioritises candidates.

Feedback Loop
flowchart LR
A[User Request] --> B(Intent Detection)
B --> C(Candidate Pool)
C --> D{Feedback?}
D -- Like --> E(Update Positive Weights)
D -- Skip --> F(Update Negative Weights)
E --> C
F --> C
Impact
- 27% increase in session length across beta testers.
- Average of 3.4 on-the-fly adaptations per listening session.
- Generated explainable recommendations by surfacing the acoustic features behind each pick.
What's Next
- Experiment with contextual embeddings from OpenAI's text-embedding-3-large model.
- Roll out collaborative playlists so multiple listeners train the policy together.