We were inspired by Groovy Bot and Spotify. We wanted to create an app that blended the collaborative ideas behind Groovy Bot with the sleek user interface design of Spotify.
What it does
Ensemble is a web app that allows users to listen to music in real time with one another. By integrating the YouTube API, users can make song requests in the chat, and Ensemble will find an appropriate music video to play. All users have control over the same queue, so pausing, skipping, and playing songs are shared across all devices.
How we built it
We used React for our frontend, with a Firebase realtime database as our backend. By storing the chat log, song queue, and metadata about what is currently playing, we were able to share the same state between all users.
Challenges we ran into
One particular challenge we ran into was making sure that our repository did not contain our API keys. Another challenge was deploying to github-pages while using react-router.
Accomplishments that we're proud of
We believe that we were able to create an app that looks visually appealing in a very short amount of time, using limited bootstrapping.
What we learned
We learned how to use the YouTube API, as well as create a live chat messaging application.
What's next for ensemble
Currently, all users will be placed in one large session. We plan to create separate rooms for users, in which friends can send room codes to one another, so everyone is not in the same session.