✨ Inspiration

Music helps people connect to their emotions and gives them the space to process how they're truly feeling. It can bring comfort, motivation, and clarity especially during moments when words aren’t enough. We all love music, and as college students, we know firsthand how much mental health can impact everything from our mood to our productivity. Whether it's walking to class, studying late at night, or just trying to unwind, music is always there with us. And in this era, everyone has earbuds in. It’s like we all carry a soundtrack for our lives.

That’s where Auraloom comes in. We wanted to build something that makes that soundtrack even more personal, something that listens back. Auraloom is about turning emotion into music, giving people a tool to express how they feel and immediately get a playlist that reflects it. It’s a blend of mental health, AI, and music and we built it to help people feel seen and heard, through sound.

🚀 How we built it

Auraloom is a full-stack mood-based music generator. The backend is built with Java and Spring Boot, with two core services: one powered by Gemini AI and the other by the Spotify API, in addition we have a different service developed with Python for non spotify users. When a user describes how they’re feeling — for example, “I’m feeling anxious” or “I need motivation” — the Gemini service generates a personalized playlist, responding in a thoughtful, emotion-aware format. The response is saved to MongoDB in JSON form, along with an ID and timestamp. The Spotify service then pulls the latest entry from the database, parses each song and artist, and searches for them via the Spotify API. Once all track URIs are collected, it sends a POST request to create a new playlist directly in the user’s Spotify account, named after the original prompt. On the Python side, Auraloom includes a lightweight Flask chatbot for users who don’t have Spotify. It uses Gemini to analyze mood and returns a curated list of songs — no login or account required, just an instant emotional connection through music.

💢 Challenges we ran into

We ran into more than a few bumps along the way. Spotify authentication was one of our first big challenges. Setting up OAuth, understanding scopes, and figuring out how to actually get permission to create playlists on behalf of users took time. We also had issues connecting to MongoDB Atlas — especially when trying to fetch the right document and parse the playlist data from it. One of the sneakier problems we hit was dealing with inconsistent formats coming back from the Gemini API. Sometimes we’d get clean JSON, and sometimes it was markdown or weirdly structured text. Parsing that into clean data we could send to Spotify definitely took trial and error. But honestly, each challenge taught us something new, and pushed us to better understand how the tools we were using actually work.

🎉 Accomplishments that we're proud of

We’re honestly just really proud of the fact that this project exists. We took an idea turned it into a full working system in under 24 hours. We didn’t know how all the pieces would fit at first, and a lot of it was new to us, but we figured it out. The fact that we got this working in Java is something we’re especially proud of. So many examples we found were in Python, and it would've been easier to switch languages but we stuck with it. Seeing the final result opening Spotify and seeing a custom playlist made just for your current mood that made it all worth it.

💫 What we learned

The learning curve was real, and we’re glad we pushed through it. On the technical side, we learned how to use Gemini AI effectively, how to connect and work with a NoSQL database like MongoDB, and how to build a full OAuth flow with Spotify. Integrating APIs, managing requests, handling responses, debugging under pressure it was a crash course in real-world development. On the teamwork side, we learned how to collaborate with new people in a short time frame. Communication, late-night debugging sessions, figuring out when to help and when to let someone dive into a problem all of that was part of the experience. Working as a team, even with very different skill levels and backgrounds, ended up being one of the best parts of this project.

🌎 What’s next for Auraloom

The next step for Auraloom is making the experience more interactive and user-friendly. We're currently working on a React front end that allows users to simply type how they're feeling and generate a playlist instantly. We want to create a clean, calming interface where the emotional experience feels just as thoughtful as the playlist itself. From there, we’re excited to explore features like letting users connect their favorite artists to shape their playlist, providing feedback on the vibe of the music, saving their playlist history, and even sending gentle check-ins or mood-boosting reminders through notifications. There’s so much more we can do with the combination of AI, emotional intelligence, and music. We built Auraloom to support mental health, one playlist at a time. And we’re just getting started.

Built With

Share this project:

Updates