PlayMood is a minimalistic and interactive web application that recommends songs based on the mood you choose.
Instead of using Spotify API (which has paid restrictions), this project uses a local dataset and content-based filtering to suggest music that fits your emotional vibe β now powered with YouTube playback.
β Users must register and login to use the recommendation feature
β Recommendations are based on audio features
β Songs play with a clean embedded YouTube player (no scroll, no CSP error)
β Built with Python Flask, SQLite, and scikit-learn
π― Mood-Based Recommendation
Choose moods like:
- Happy π
- Sad π’
- Chill π
- Energetic β‘
- Romantic β€οΈ
- Focus π§
π΅ Music Playback via YouTube
- Songs are shown with thumbnails and titles
- Click a song card to play in a global YouTube player
- No rate-limit issues or iframe scroll
π User Authentication
- Register new accounts
- Login to access mood recommendations
- Session-based user login with SQLite
| Technology | Purpose |
|---|---|
| Python | Backend logic |
| Flask | Web server |
| SQLite | Authentication storage |
| Pandas | Data processing |
| scikit-learn | Recommendation engine |
| HTML/CSS/JS | Frontend UI |
| YouTube Embed | Music playback |