--:--:--
StableSeptember 10, 2025

Vibe-Sync

A music recommender that scores tracks against the moment — not just the taste. Five LightGBM classifiers trained on 114k Spotify tracks pick the right song for workout, focus, sleep, party, or chill.
PythonFastAPIReactDocker
Vibe-Sync
Vibe-Sync scores tracks against the moment — workout, focus, sleep, party, chill — using a real ML pipeline trained on 114k Spotify tracks. Genre-based recommenders break the moment you change activity. This one models the moment, not the taste. Five binary LightGBM classifiers, one per context, trained on Spotify audio features (danceability, energy, tempo, valence, acousticness, instrumentalness, loudness, speechiness, liveness). Each track gets five independent fit scores, so the same song can rank high for focus and low for party without contradicting itself. Recommendations are computed in batches with NumPy, so a library of thousands of tracks scores in milliseconds. No per-track inference cost, no streaming-API rate limits during ranking. Track metadata, album art, and 30-second previews come from the Spotify Web API. Auth flows through PKCE so the app stays serverless-friendly. The interface is intentionally tactile — pick the mood, get the playlist. No sliders, no settings panel.
  • Backend — FastAPI serving REST endpoints and static assets
  • ML core — LightGBM classifiers, persisted with joblib, retrained from a single train_kaggle_models.py entry point
  • Frontend — React SPA driven by mood cards and live previews
  • Training — automated preprocessing, labeling, k-fold validation, and metric tracking
Each classifier converges with strong precision/recall on the holdout set, and end-to-end latency stays under 100 ms for a 5,000-track library. More importantly, the recommendations feel right — workout playlists actually make you move, focus playlists actually let you think.