My experience at Spotify Unify

Two days of hacking for fun at the Spotify HQ

m
6 min readMay 19, 2015

One of the reasons I came to Sweden for my exchange studies was to get to know the Swedish startup and software scene, particularly what’s going on in Stockholm. With its hipster, alternative, creative and innovative culture, I think Stockholm is a great place in Europe for innovating and creating great startups. Just take a look at how many cool startups that have been founded there: Spotify, Truecaller, Detectify, Klarna, King, iZettle, Bloglovin, SoundCloud and many others.

As stated in the event website, the goal of this hackathon was to create an application that worked on mobile devices (Android and iOS, both native) and on the web. There were also Spotify engineers supporting us to accomplish it during a Saturday and a Sunday (no overnight hacking sadly).

Before Unify

In November there was a hackathon at Spotify, Diversify. I didn’t know about it on time and I sadly missed the deadline to apply. But now, I kept track of Spotify announcements on their Join the Band channels in social networks, saw about Unify, applied and luckily I was one of the 35 students who got accepted.

When I applied, I was asked to describe myself with one song. Later, one of the organizers (Caroline Arkenson) created a playlist, of course on Spotify, with the songs that all the participants picked so that we could get to know each other a little bit before, well, at least our musical taste. I found that to be really cool.

The theme of the app to develop during the hackathon was kept secret until the day came, when we were split on teams based on the skills we put in the application form, so that each team worked on an application for the platform it was assigned to.

Some days before the event, the schedule and the teams to which we were assigned were sent to us. The teams were: iOS team, Android team, Web team 1 and Web team 2. I was assigned to the Web team 1.

During Unify

The first thing we did when we arrive was to have breakfast, really good. Then we met our teams and had three introductory talks about the Spotify SDK, Git and Docker. We got some nice Urbanears headphones, which I tuned to be cooler with two nice Spotify stickers (yeah we also got some nice stickers ☺).

And the theme of the hackathon is… Music + Travel!

We were given the topic for the hackathon and generated many cool ideas. The one my team and me picked in the end was to create an app that given a city, it showed artists popular in that city and also popular artists from the city and generated a playlist in Spotify with music from those artists. From there we started thinking about features and how to do the app and generated many cool ideas (a map where to choose the city, Tinder-style cards to preview the artists and save the ones that one liked, filtering by genres, etc.). Our coaches insisted in thinking about what was the MVP (minimum viable product) for our application and not about all the cool features we could add to it. So in the end, we decided to go for a simple search textbox where the user entered the city, picked if she/he wanted local or popular artists and then the application would show a list of songs with their preview and also and option to generate the playlist and save it in Spotify.

The first day was spent mostly on planning and focusing the idea to the MVP. The planning was quite difficult since we all had different backgrounds and experience, and I also think that we were too many for such a quite small application. Anyway, it was a good learning on how to organize the team and focus on the MVP. We had a nice lunch, for which I picked a salad with chicken, and later in the afternoon a team developing activity. We also had fika and some brochettes with beer for dinner.

That first day we had a tour of the offices, which are great! Pingpong, foosball, consoles, gaming computers, really cool workspaces, music studio, nice meeting rooms with cool names, etc. Spotify seems to be agreat place to work with a great environment!

The second day we spent most of the morning developing the web app. We had some nice pizzas for lunch. At 16:00, we stopped coding and had some talks from the organizers Caroline and Axel about Caroline’s experience from dancer to Android developer and Axel’s tips for rocking the recruitment process. After the talks, we presented our results and saw the results of others. All the source code can be seen on Github and soon there’ll be a showcase page.

Our final MVP (a lot of improvements can be made and really nice features can be added)

After Unify

The hackathon was more relaxed and less intense than what I expected (and would have preferred), but it was still good. I also think that smaller teams (around four people per team) would have been better, since it would have been easier to organize, plan and split the work. Talking to the Spotify engineers was really good, I learnt many things and got many good tips. I think the purpose of this hackathon was more about learning and getting to know Spotify rather than delivering a great product/hack, if that was the case, it was a success.

I learnt more about AngularJS, with which I had only played a little bit on the web and a little bit with Ionic. I also learnt more about EcmaScript 6, since the template our coach suggested us used it and I found it to be a great opportunity to try it (before I had only read about it and its new features, but I had never coded anything on it).

The Spotify Web API is really cool and allows to get a lot of information, especially with the complementary Echo Nest API. We used those two APIs and also the Spotify Charts API and the Google Geocoding API.

So yeah, now that I know more about the Spotify API, I hope this summer I can work on a project I though about in February, that consists on controlling colorful lights, setting up alarms (with music + lights programs, to wake up with crazy lights and music or with a nice purplish-orange lights and calm music, for example), playing music (from my Spotify playlists and songs) in my room, among others. All this with a Raspberry Pi and a mobile app developed with Ionic.

--

--