Groove in genre-based “bubbles” with anyone, anywhere. Connect with people who love your favorite music, sync up across any platform, and vibe together in real time. Music is better when shared!
Inspiration
We’ve always loved discovering new music and sharing it with friends, but most platforms still focus on solitary listening. We wanted to create a place where people could instantly sync up, chat, and explore new genres together—no matter where they are in the world. That vision led to our concept of “genre bubbles,” a visual map where anyone can spot a familiar style or try something completely new, then dive right in to listen and chat with others.
What it does
Jamboree is a social listening platform that organizes your musical interests into genre-based “bubbles.” Selecting a bubble lets you join a real-time listening session with everyone else there, so you’re all streaming the same track simultaneously—even if you’re using different music services (like Spotify, Apple Music, etc). A built-in chat feature allows you to share thoughts, recommend artists, or just react in the moment as the music plays. You can also friend other users in the bubble, allowing you to further connect on music with them. Furthermore, anyone can propose the next track, allowing the group to experience new music together. Simply enter the song name, and the music platform will fetch the song, playing it for everyone in the bubble. This collaborative approach turns listening into a shared experience rather than a solitary one.
How we built it
We chose the MERN stack (MongoDB, Express, React, Node.js) for an end-to-end JavaScript solution. MongoDB stores user profiles, bubble data, and messages giving us a flexible, document-based structure that’s easy to scale as more users and genres are added. Node.js and Express power the backend APIs that retrieve and update these collections, while React handles our interactive front end—including the dynamic rendering of “bubbles” for each genre. Finally, Spotify (and other music services) manage user authentication and streaming, freeing us from building a separate login system or hosting audio directly.
We used Spotify’s API to get user profiles, change the current song on Spotify for users, and to display song information on our website. Our website incorporates OAuth to authorize our app to connect with your Spotify account, and this allows the server to make requests to the Spotify API using the access token provided by the user authorization. We store the user’s profile ID along with their access token, so that we can make requests later such as retrieving a user’s profile or changing the song playing for everyone in a bubble.
Challenges we ran into
One major challenge was integrating the Spotify API in a way that felt seamless for users. We needed to carefully manage environment variables for our Spotify keys, coordinate proper token handling between the front and back ends, and ensure our API calls matched Spotify’s requirements. We also faced hurdles in coordinating changes among the team—front-end updates could break existing backend code if we weren’t all on the same page. Version control in Git sometimes led to merge conflicts or misaligned branches, so we had to refine our branching strategy and communicate closely to keep the project running smoothly.
Accomplishments that we're proud of
During the hackathon, we were able to successfully create a platform where discovering music becomes a collective effort among users. We were able to seamlessly consolidate features like chatting and streaming among the various bubbles. In addition, we are proud of how we integrated Spotify’s OAuth flow without building yet another login system, streamlining the user experience to what they already use and keeping the focus on music.
What we learned
Building a real-time full-stack application with many moving parts taught us the importance of efficient event handling, data synchronization, and user authentication. We gained hands-on experience with advanced user authentication with OAuth, and learned how to carefully manage API tokens for external services like Spotify. We also learned all the ins and outs of Git, allowing for efficient version control within the team. Most of all, we learned how the frontend interacts with the backend of a website through REST API and the importance of writing efficient, well-structured server code that minimizes unnecessary requests and avoids repetitive code, ensuring better performance, scalability, and maintainability.
What's next for Jamboree
We’re exploring AI-powered recommendations that guide users to the perfect bubble based on their Spotify user data or genre preferences. We plan to support more streaming services beyond Spotify, so no one feels left out. We’d also love to add more social features—like displaying user profiles of everyone in a bubble, creating private or themed listening sessions, and awarding badges for discovering or curating popular new tracks. Another feature that we are excited to implement is Aux Wars. Two users would have to choose songs that match a prompt, and other members in a bubble would vote on whose music was better. Jamboree will continue evolving to become the go-to destination for collective musical experiences.
Log in or sign up for Devpost to join the conversation.