🎵 SongHive: Where Your Mood Meets the Music
✨ Inspiration
Music has always been more than just entertainment—it’s a universal language that connects emotions, memories, and people. The inspiration for SongHive came from the idea of making music not only accessible but also personalized to the listener’s emotional state. While traditional music apps focus on playlists and recommendations, I wanted to go a step further and integrate AI-driven emotion detection so that users could discover songs that match their mood instantly.
📚 What I Learned
-> Building SongHive was an incredible learning experience that helped me strengthen both my technical and problem-solving skills.
-> Backend Development: I deepened my understanding of Flask, RESTful APIs, and secure authentication.
->Database Management: Learned how to structure collections in MongoDB, perform CRUD operations efficiently, and optimize queries.
-> Frontend Design: Enhanced my skills in React.js, Vite, and Tailwind CSS for building responsive and interactive UIs.
-> AI Integration: Gained hands-on experience with Face-api.js to detect facial expressions and map them to emotions for mood-based playlists.
-> Scalability Concepts: Explored modular architecture for easy maintenance and future scalability.
🛠️ How I Built It
-> Backend with Flask
-> Designed and implemented RESTful API endpoints.
-> Integrated user authentication, session handling, and validation.
-> Connected with MongoDB for storing users, songs, playlists, and favorites.
-> Database with MongoDB
-> Created collections for users, songs, playlists, and liked_songs.
-> Added initialization scripts to populate data automatically.
-> Designed flexible schemas for scalability.
-> Frontend with React + Vite + Tailwind
-> Built a dynamic UI to explore songs, create playlists, and manage libraries.
-> Integrated Face-api.js to analyze facial expressions and trigger Mood Mode.
-> Mood Mode Feature
->Used emotion detection to classify moods (happy, sad, neutral, surprised, etc.).
->Mapped emotions to curated playlists for a personalized experience.
🚧 Challenges I Faced
->Emotion Detection Accuracy: Training the AI to interpret facial expressions reliably across different lighting conditions.
->Authentication Security: Ensuring user data safety with proper validation and password hashing.
-> Database Optimization: Balancing between scalability and query performance when handling large amounts of data.
-> Frontend Integration: Managing state between multiple components while keeping the UI responsive and smooth.
-> Testing & Debugging: Debugging asynchronous calls between Flask backend and React frontend, especially for API requests.
Built With
- face-api.js
- flask
- javascript
- mongodb
- react.js
- tailwind
- vite
Log in or sign up for Devpost to join the conversation.