Inspiration
I just needed some new recommendations for music
What it does
Gives you recommendations based on your music taste.
How we built it
I built it using a bunch of different software out of which many were being used by me for the first time. I kicked things off by designing a clean and modern interface using HTML, TailwindCSS, and a bit of JavaScript to keep things interactive and smooth. The goal was to make it feel like a music app you’d actually want to use. For all the music magic, I used Spotify’s Web API with Spotipy, a Python library that made it super easy to fetch tracks, get recommendations, and manage playlists. To tie it all together, I built a backend with Flask, where I handled user login using OAuth 2.0, so people could safely connect their Spotify accounts. Once logged in, the backend fetched all the personalized data and sent it to the frontend. I stored basic stuff like search history and preferences using SQLite locally during testing, and later moved to PostgreSQL on the cloud for better performance and scale. Everything was deployed using Render for the backend and Vercel for the frontend—super smooth and quick. I also used Postman and Insomnia to test the APIs along the way. My code was version-controlled on GitHub, and I managed environment variables safely using .env files. That’s the techy side of how I built it!
Challenges we ran into
This project wasn’t all smooth sailing—there were definitely a few bumps along the way. First off, integrating Spotify’s API with OAuth 2.0 was a bit tricky. Getting the authentication flow to work just right—especially while keeping everything secure—took some time (and a few cups of chai). Another challenge was syncing the frontend and backend properly. Sometimes the Flask server and the frontend didn’t want to “talk” to each other nicely, especially when it came to CORS issues and data formats. We also struggled a bit with Spotify’s rate limits while testing. The API would randomly stop responding mid-demo because we hit the cap, which definitely kept us on our toes. Lastly, just getting all the services—Vercel, Render, Spotify API, PostgreSQL—to work together without breaking something else was a bit of a juggling act. But in the end, it all came together!
Accomplishments that we're proud of
Getting the Spotify recommendations and playback working exactly how we wanted felt like a big win. We managed to go from raw data to a full AI-powered music player that feels smart and snappy. Also proud of how we handled the full-stack integration—having the backend on Render, the frontend on Vercel, and everything talking smoothly via APIs. It actually felt like building a real-world product, not just a college project.
What we learned
This project taught me way more than I expected. For starters, working with Spotify’s API gave me a deeper understanding of how real-time data and music recommendation systems actually work under the hood. It’s one thing to read about it—but actually implementing it? Whole different game. I also picked up a lot about monorepo setups, managing frontend and backend together, and deploying them on different platforms like Vercel and Render while keeping everything in sync. Got my hands dirty with auth flows, handling tokens, and learned how to debug those weird “works on my machine” moments across environments. And maybe the biggest thing? I learned how to break big problems into smaller chunks—whether it was getting playback to work, integrating the AI logic, or just figuring out a clean UI. Also, working under pressure during a hackathon? Taught me how to stay focused, move fast without breaking everything, and still enjoy the chaos.
What's next for AI Music Player
So yeah, that’s AI Music Player. My attempt to make music smarter, more personal, and just more fun. I started with the idea of using AI to recommend songs based on your mood and vibe, and it’s evolved into something way more powerful. There's still a lot I want to build. Voice control, smarter personalization, mood-based playlists, even offline modes. But this is just the beginning. I am super excited about where it’s headed and how it can reshape the way we discover and enjoy music.
Log in or sign up for Devpost to join the conversation.