I recently built a little webapp that allows users to listen to music together in sync, and chat about it (Similar to what turntable.fm did before it went out of business in 2013).
Most of the real time events are handled by Google’s Firebase. A node.js script/hostbot keeps track of the song timer and tells the connected front end clients when to advance using the Firebase real time events. DJs indicate they want to play songs by typing a command to the hostbot. The hostbot then works through the list of waiting DJs, letting each DJ play 2 songs on the “table” before putting them back in the waitlist. Currently, the only audio source Firetable utilizes is Youtube.
This project is unfinished, but it has been a fun way to learn what Firebase can do. Future plans include the addition of user playlists (instead of just giving each user one playlist), as well as additional audio sources.
Live Firetable demo (uses Firebase Auth for login/account creation): https://thompsn.com/firetable