Your face is the playlist. > An AI-powered web application that detects your facial expressions to gauge your mood and auto-magically plays the perfect track to match your vibe.
Ever feel like listening to music but don't know what to play? Emotify bridges the gap between biological emotion and digital entertainment.
Using advanced computer vision models directly in the browser, we scan your facial landmarks to detect if you are Happy, Sad, Angry, or Neutral. Based on this analysis, the system interacts with the Spotify API (and local libraries) to curate a listening experience that resonates with how you feel right now.
- 😐 AI Face Scanning: Real-time emotion detection using
face-api.jsmodels. - 🎧 Smart Music Player: Seamless integration with Spotify API + Local MP3 fallback.
- 🎙️ Voice Assistant: Hands-free control to navigate the app.
- 🔐 Secure Auth: Full user registration/login system with OTP verification.
- 📊 Mood History: Dashboard analytics to track your emotional trends over time.
- 🎨 Modern UI: Built with React and Tailwind CSS for a sleek, responsive design.
Frontend:
- React (Vite): Fast, modern UI library.
- Tailwind CSS: For rapid, beautiful styling.
- Face-API.js: TensorFlow.js powered face detection.
- Context API: For state management (Auth & Music).
Backend:
- Node.js & Express: Robust REST API.
- MongoDB (Mongoose): To store users, mood history, and OTPs.
- Spotify Web API: For fetching tracks and metadata.
Follow these steps to get the project running on your local machine.
- Node.js (v16+)
- MongoDB (Local or Atlas URL)
- Spotify Developer Account (Client ID & Secret)
git clone [https://github.com/yourusername/Emotify.git]
cd Emotify
cd Backend
npm installPORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
SPOTIFY_CLIENT_ID=your_spotify_id
SPOTIFY_CLIENT_SECRET=your_spotify_secret
EMAIL_USER=your_email_for_otp
EMAIL_PASS=your_email_passwordnode server.jscd frontend
npm installnpm run devProject Link: https://emootify.netlify.app/
Made with ❤️ and 🎵 by the Emotify Team.