Moodify is an AI-powered music recommendation web application that detects a user's facial emotion in real-time and suggests songs that match their mood.
Using Google MediaPipe Face Detection and a curated song dataset, Moodify analyzes emotions such as Happy, Sad, Angry, and Surprised, then recommends songs that fit the detected mood.
- 🎭 Real-time facial emotion detection
- 🧠 AI-powered mood analysis using MediaPipe
- 🎶 Mood-based song recommendations
- 🎵 Curated song library
- 📱 Responsive and modern UI
- ⚡ Fast React frontend
- 🔒 Privacy-friendly emotion detection
- React
- Vite
- SCSS / CSS
- Axios
- Node.js
- Express.js
- MongoDB
- Mongoose
- Google MediaPipe
- Vercel (Frontend) -> https://moodify-project.vercel.app
- Render (Backend) -> https://moodify-project-b0ns.onrender.com
moodify/
├── frontend/
│ ├── src/
│ ├── public/
│ ├── package.json
│ └── vite.config.js
│
└── backend/
├── controllers/
├── models/
├── routes/
├── config/
├── package.json
└── server.js
git clone https://github.com/Shreyas-coding-master001/Moodify-Project.git
cd Moodify-Projectcd frontend
npm install
npm run devFrontend runs on:
http://localhost:5173
cd backend
npm install
npm startBackend runs on:
http://localhost:3000
VITE_API_URL=http://localhost:3000NODE_ENV=development
PORT=3000
MONGO_URI=your_mongodb_connection_string
IMAGEKIT_PUBLIC_KEY=your_public_key
IMAGEKIT_PRIVATE_KEY=your_private_key
IMAGEKIT_URL_ENDPOINT=your_url_endpoint| Emotion | Description |
|---|---|
| 😀 Happy | Feel-good and uplifting songs |
| 😢 Sad | Emotional and soulful tracks |
| 😠 Angry | Powerful and energetic songs |
| 😲 Surprised | Wonder, adventure, and awe |
- User opens Moodify.
- Camera permission is requested.
- MediaPipe analyzes facial expressions.
- Moodify predicts the dominant emotion.
- Songs matching the detected mood are selected.
- Recommended songs are displayed instantly.
Root Directory:
frontend
Build Command:
npm run buildOutput Directory:
dist
Root Directory:
backend
Build Command:
npm installStart Command:
npm start- Spotify integration
- YouTube music previews
- Playlist generation
- User accounts
- Mood history tracking
- Advanced emotion classification
- Personalized recommendations
Contributions, issues, and feature requests are welcome.
- Fork the repository
- Create a feature branch
- Commit your changes
- Open a pull request
Shreyas Patil
Aspiring Software Engineer passionate about AI, Web Development, and creating innovative user experiences.