Skip to content

Karthikgouda15/Emotify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

🎵 Emotify

image

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.

License: MIT PRs Welcome Tech Stack


🚀 About The Project

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.

✨ Key Features

  • 😐 AI Face Scanning: Real-time emotion detection using face-api.js models.
  • 🎧 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.

🛠️ Tech Stack

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.

⚙️ Getting Started

Follow these steps to get the project running on your local machine.

Prerequisites

  • Node.js (v16+)
  • MongoDB (Local or Atlas URL)
  • Spotify Developer Account (Client ID & Secret)

1. Clone the Repository

git clone [https://github.com/yourusername/Emotify.git]
cd Emotify

2. Backend Setup

cd Backend
npm install

Create a .env file in the Backend/ directory:

PORT=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_password

Start the server:

node server.js

3. Frontend Setup

cd frontend
npm install

Start the React app:

npm run dev

Project Link: https://emootify.netlify.app/

Made with ❤️ and 🎵 by the Emotify Team.

About

AI-powered Emotion Based Music Recommendation System | MERN Stack + Voice Assistant | Face Detection

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages