The Amplify frontend
Amplify was written at CodeDay NY around June 2014 with Ilya Rubnich, a student at CCNY I'd met at the event. It was also my first hackathon (much love <3), and the first time I'd worked with the Android APIs.
In short, you send your location and the song you're playing to a server and the server sends that and other users' songs to people in the same general area.
How it works
What it does is it listens for events on the user's device that indicate a song being played. The details of the song and the location of the user are sent to a server which queries the Spotify API for information. The server then transmits this data to all users within a certain radius of the person listening.
No other identifying information, other than a unique device ID, is sent.
When querying the server for information about what other people are listening to, a JSON array of objects is sent to the client, which is parsed for location points which are placed on a Google Map widget. These points are tied to information about the song at that location, so one can tap on each dot to see what's playing there.
The server used a RESTful API for sending and receiving data from clients, and used MongoDB for storing information about songs and users.
How it was almost disastrous
Being that this was the first time I'd developed an Android app or used RESTful APIs, much of CodeDay was spent reading through the documentation and piecing things together until they worked. A lot of it is held together with duct tape, and I'd be lying if I said it didn't crash at all in its "finished" state. However, maintaining a coherent codebase when given 21-ish hours to put something together is pretty difficult in itself.
That said, the app at least did work back in 2014 when it was first put together, so that was nice.