Inspiration

The inspiration for this project came from the idea that music is deeply emotional and plays a crucial role in our lives. We often choose songs based on our feelings, but what if AI could automatically understand our mood and suggest the perfect music for us?

We wanted to create an app that:

-Understands human emotions by analyzing uploaded images. -Automatically recommends music that aligns with the user's mood. -Allows collaborative music sharing through group folders (joint albums). -This project was born out of a desire to make music discovery smarter, more personalized, and deeply connected to emotions.

How We Built It

To bring our vision to life, we combined artificial intelligence, cloud storage, and personalized recommendations into a seamless web app.

Tech Stack & Tools Used

Technology: Purpose Next.js: Manages both frontend & backend API requests efficiently. MongoDB: Stores user data, uploaded images, song recommendations, and group folders. Auth0: Provides secure authentication & user management. Google Gemini AI: Analyzes uploaded images to detect emotions & generate mood-based song recommendations. Pinata (IPFS): Stores uploaded images on decentralized storage (IPFS). Spotify API: Fetches song metadata & streaming links. Next.js Builds a dynamic, interactive user interface. CSS: Provides a modern, responsive UI design.

Core Features & Implementation:

AI-Powered Image Upload & Mood Detection Users upload an image, and Google Gemini AI analyzes it to determine the mood. AI extracts facial expressions, colors, and objects to classify the user's emotional state. Based on the detected mood, the app automatically recommends songs from Spotify.

Example:

User uploads a sunset photo → AI detects a "Calm Mood" → Suggests lo-fi or jazz music. User uploads a selfie with a smile → AI detects "Happy Mood" → Suggests pop or dance music.

AI-Powered Personalized Playlists

The AI learns from user activity, image uploads, and song selections. Over time, it refines recommendations based on music preferences and listening habits. Users can revisit past moods and playlists, making their listening experience deeply personalized.

Group Folders (Joint Albums)

Users collaborate on shared music playlists with friends. One song can only belong to one folder, preventing duplicates. Group folders allow users to build a collection together, making music more social and interactive.

Example Workflow:

  1. User A creates a "Road Trip Playlist" folder.
  2. User B adds songs to the shared playlist.
  3. The playlist updates for all members in real-time.

Encourages collaborative music discovery. Prevents duplicate song entries. Creates a shared music experience.

What We Learned

This project taught us a lot about AI, cloud storage, and music personalization.

  1. AI can enhance music discovery in a deeply personal way. It was fascinating to see how AI understands mood and emotion through images. We learned how to train AI models to improve their accuracy over time.

    1. Secure authentication is crucial for user-generated content. Using Auth0, we ensured that only authenticated users could manage their content. Implementing OAuth login with Google made the app more accessible.
  2. IPFS (Interplanetary File System) is powerful for decentralized storage. Instead of storing images traditionally, IPFS allows users to store files permanently. Pinata helped us host images securely, preventing loss of data.

  3. AI needs real user data to improve over time. Initially, Gemini AI struggled to classify moods correctly. By analyzing user feedback, we improved mood detection & recommendation accuracy.

Challenges We Faced & How We Solved Them

Every project has hurdles, and we faced several:

Challenge: AI sometimes misclassified emotions, especially in ambiguous images. Solution: Refining training data and using more AI models for sentiment analysis.

  1. Handling multiple API integrations & response times

Challenge: Integrating Google Gemini AI, Spotify API, and MongoDB resulted in slow responses. Solution: Optimized database queries & API caching to improve load speeds.

  1. Implementing Group Folders correctly

Challenge: Ensuring one song can only belong to one folder. Solution: Database checks before adding a song, preventing duplicates.

  1. Making AI recommendations feel truly "personalized"

Challenge: AI sometimes suggested repetitive songs. Solution: Tracked user history and added diversity checks to playlists. The Future of the Project

Final Thoughts

We started this journey wanting to make music discovery smarter—we ended up creating a system that adapts to emotions, personalizes recommendations, and fosters music collaboration.

This project bridges the gap between technology and human emotions, making music more intuitive, meaningful, and connected to how we feel.

🚀 Thank you for reading! We hope you love using our platform as much as we loved building it. 🚀

Built With

Share this project:

Updates

Submission history