We used the Spotify API to make a unique website that allows people to share Spotify music quickly and like they've (probably) never done in the past! Behold! Synchrofy! a social website that syncs your favorite tunes with your friends. Want to pick apart the latest album second by second? Or skip to that next awesome banger? Now you can do all that with your friends on the other end. We even have a chat feature for quick communication on the fly. Come try it out at https://spotifysync.herokuapp.com/room/# !
This project seemed useful and ambitious. There's previous work on this project mostly proving that what we've done here is possible, and I'm happy that it's finally come to be.
It syncs up a spotify playlist between two webpages where one webpage is the "parent" and can pause/play/skip/and synchronize both pages to be listening to music at the same time. Also there's a chat feature.
We built our project using Socket.IO and Spotify Web Playback SDK on a Node.JS express server.
Making a pause button. No. seriously. it took me 10 hours to debug the pause button. Because we used socket.io for the first time, and because we were (mostly) unfamiliar with the spotify api, debugging was a bit of a headache. But we persevered and I believe learned some amazing things while developing this app. The application really revolved around getting our pause/play button to work.
The extreme subtlety of how and where to implement api calls around socket emissions basically meant that even a slight misunderstanding of the entirety of your coding strategy would mean absolute failure and poor performance. Finding the hyper-balanced sweet-spot that allowed our app to function given our experience with these tools is something I'm extremely grateful we were able to push past this wall.
I unlearned some bad habits I've developed in Node.JS as well as a huge boost in asynchronous programming. Socket.IO and the spotify api are the core tools that we learned for this project, but we were also exposed to some less-core-specific tools like mongoDB, heroku, and github merge-conflicts.
-"Child" playlist reading (automatically switch to the parent-page's songs) -Playlist editing -Scrubbing -Scaling challenges like user databases including unique "host" rooms and associated "child" rooms for each user
-Spotify Web Playback SDK -Node.JS -HTML -CSS -Heroku -Github -Sublime Text Editor (and some NP++)
$100 Amazon Gift Cards
Jetbrains Pro Software
Misfit Shine 2