Terrible experiences of host-picked playlists at student parties. PyPly aims to democratise music selections at all parties, large and small.

How it works

Twilio SMS talks to a Flask endpoint, passing received text messages on to a Python server running on LayerShift's Jelastic platform. These control SMS messages manipulate playlists stored in MariaDB, and pass messages onto a client application via a Redis based queue. This client application is what sits on the party hosts laptop - responsible for organising and playing back the top rated tracks via Spotify. Trello-based playlist display and Twilio based song preview mechanisms also interact with the server side component.

Challenges I ran into

Last minute changes to communications libraries (a switch from 0MQ to Redis with 6 hours to go!). Initial trouble with LayerShift platform, and the various APIs/technologies (most notably OAuth troubles, and an extremely basic Spotify desktop API) - many of which were completely new to the team. All this along with the usual sleep deprivation made for an 'interesting' 36 hours!

Accomplishments that I'm proud of

I feel very proud of the feature set we were able to put together in the time period, especially given the difficulties we faced. The breadth, and non-standard use of the APIs we chose presented an impressive challenge - and we are very pleased with our performance.

What I learned

Importance of focussing on core features, before branching out into 'stretch goals'. Coordination of individual work, to prevent overlap.

What's next for PyPly

Cleanup of code base prior to hopeful release as open source project. Hopefully has a bright future at student parties for many years to come!

Share this project: