Moodify is a sleek, AI-powered web app that reimagines Spotify — tailored to your mood and musical preferences. It allows you to:
🔍 Search for songs using the Spotify API
🎵 Play tracks (Spotify Premium required)
📝 Instantly view lyrics powered by Genius
💡 Get AI-powered song recommendations based on your mood
📁 Create new playlists from recommendations
💖 View and manage your saved playlists
🎨 Personalize your interface with custom themes
🌑 Enjoy a beautifully crafted dark mode UI with blurred, rounded, modern design
- Frontend: React, Tailwind CSS, Vite
- Backend: Node.js, Express, Python, Flask, Langchain, Spotipy
- LLM: Groq API (Mistral Saba 24B)
- APIs: Spotify API, Genius API
- Other: Axios, Pydantic, dotenv
To get started with this project, follow the steps below:
Clone the repository to your local machine:
git clone https://github.com/yourusername/better-spotify.gitNavigate to the frontend folder and install the necessary dependencies:
cd betterSpotify
npm installNavigate to the backend folder and install the necessary dependencies:
cd server
npm installIn both the frontend and backend folders, you will need to add the necessary API keys to .env files.
Inside the betterSpotify folder, create a .env file and add:
VITE_SPOTIFY_CLIENT_ID=your_spotify_client_id
VITE_SPOTIFY_REDIRECT_URI=http://127.0.0.1:5173
VITE_BACKEND_URL=http://127.0.0.1:3001
VITE_MLBACKEND_URL=http://127.0.0.1:5000Inside the server folder, create a .env file and add:
SPOTIFY_CLIENT_ID=your_spotify_client_id
SPOTIFY_CLIENT_SECRET=your_spotify_client_secret
SPOTIFY_REDIRECT_URI=http://127.0.0.1:5173
GENIUS_ACCESS_TOKEN=your_genius_access_token
FRONTEND_URL=http://127.0.0.1:5173Replace your_spotify_client_id, your_spotify_client_secret, and your_genius_access_token with your actual API credentials. Change the URLs according to your setup.
In the betterSpotify folder, run:
npm run devThis will start the React development server at http://127.0.0.1:5173.
In the server folder, run:
npm run devStartThis will start the Express server at http://127.0.0.1:3001.
In the MLBackend folder, run:
python app.pyThis will start the Flask server at http://127.0.0.1:5000.
-
Spotify Login: Securely sign in with your Spotify account to access your playlists and playback. 🎧
-
Search & Play: Instantly search the entire Spotify catalog and play songs (requires Spotify Premium). 🔍🎶
-
Real-Time Lyrics: View live song lyrics pulled directly from Genius as your music plays. 📝
-
Mood-Based AI Recommendations: Get smart, mood-aware song suggestions powered by AI — and add them to a playlist in one click. 🤖🎵
-
Playlist Management: Browse and manage your saved playlists or create new ones from recommended tracks. 📁💖
-
Custom Themes: Personalize your experience with multiple themes — using a fully custom theme mode. 🎨🌈
-
Modern Dark UI: Enjoy a beautifully designed dark interface with soft blur, rounded elements, and a minimal aesthetic. 🌑✨
Feel free to submit issues or pull requests if you want to contribute. Contributions are welcome! 💻✨







