JukeBox is a music recommendation web app built around a pre train collaborative filtering model trained with with LightFM on Lastfm-VADS dataset using React and shadcn components for a modern and smooth frontend.
This app supports discovering, playing audio, viewing lyrics and album art for over 40,000+ tracks. It uses different recommendation strategies to adapt to different users interactions (cold/warm starts)
- Recommender: LightFM-based pure collabaritive filtering model
- Backend: Flask REST API + SQLite for storage
- Frontend: React UI (with
shadcn/ui) - Integrations: Genius (lyrics/metadata), YouTube (streaming via youtube-dl)
pip install -r requirements.txt
python -m app.api# from frontend directory
npm install
npm run dev- Integrate genius and youtube services
- Reliable playlist/queue system for autoplay
- Sentimental info based mood visualizer
- Updating the search system to a non-linear index based search
