Description:

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/# !

Inspiration:

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.

What it does:

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.

How we built it:

We built our project using Socket.IO and Spotify Web Playback SDK on a Node.JS express server.

Challenges we ran into:

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.

Accomplishments that we're proud of:

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.

What we learned:

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.

What's next:

-"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

Built with:

-Spotify Web Playback SDK -Node.JS -HTML -CSS -Heroku -Github -Sublime Text Editor (and some NP++)

Prizes we're going for:

$100 Amazon Gift Cards

Hustle Award

Grand Prize

Jetbrains Pro Software

Misfit Shine 2

Team Members

Samuel Ethan Caldwell, Brian Haufler, Derek Khanh
View on Github