Callaboraoke – Karaoke by Phone with Friends at Music Hack Day

Music Hack Day Logo

Music Hack Day San Francisco is just over a week away. Get ready and come build the future of music with us. This is the second time Music Hack Day has come to San Francisco, and it’s timed to coincide with the San Francisco Music Tech Summit. This year the event will be hosted at Tokbox in SoMA, just a few blocks from our office.

Back in February I organized the 12th ever Music Hack Day, but it was the first for New York City. The event was a blast, we ended up with 72 Hacks presented, including a few that used Twilio. Here’s an account of Music Hack Day NYC by Marvin Li from VEVO to give you an idea of what the event is like. Marvin and his team created Callaboraoke, a fun way to sing songs with your friends.

We were super stoked about our first ever hack event. We were developing on a live environment during hack day, and we haven’t taken anything down, so you can still find it running at http://callaboraoke.com/.

When I first got to Music Hack Day, to be honest, I didn’t know what to expect. The night before I poked around and saw some of the other sponsor logos. I came with two other devs that worked at VEVO, Antonio Melis and Leon Yu. When we saw all the API demos, I was really excited. There were a lot of partners we already work with. There were a lot of potential partners we were thinking about teaming up with. The one API that really stood out for us was Twilio. We totally had to use Twilio, for the shear awesomeness of a massively scalable just-add-water automated call center. We decided early on to not do any VEVO-based project, because that’s what we work on every day. At first, we were thinking maybe a Moviephone for concerts using the Songkick API. We heard about a previous project involving recording songs, and it inspired us to do Callaboraoke.

Callaboroake Screenshot
The details of the app are on the wiki page.

Looking around the room, everyone had a MacBook, or was running Linux. We are .NET developers by day, so I was a bit disappointed, because I wanted to find collaborators. I didn’t want to be the guy evangelizing platforms at his first Hack Day. But at the end of the event, I was very proud to represent the WISC stack and be the only demo I can remember on a Windows laptop. We did end up finding another C# developer, Hyun Jo, who we knew from IDJ that we randomly bumped into. We, of course, forced him to stay. I feel for us to collaboratively build a well-tested project with the scope it had so quickly is a testament of rapid prototyping on .NET—but there I go evangelizing. :P

The four of us all sat at one table. I didn’t get to do as much networking as I’d like, because we were all heads down in our project for 30 hours straight. The team members were real troopers, going nonstop. I passed out for a couple of hours on the floor. We started with an idea and zero code. We hijacked a personal SVN server for our repository. We fired up an Amazon EC2 machine (where the app currently lives) for the web server, and another for the DB server. We set up our IDE, Visual Studios to publish directly to the environment. We set up a Google docs spreadsheet as our agile development backlog. Then off we went! Four dudes, coding furiously, and smelling pretty raunchy going into Sunday morning.

We had the concept, and a basic feature set outlined. We put in the broad strokes first. And then over the next hours features rolled in one by one. We got lyrics data with timing from MusixMatch. This data allowed us to cut the audio and restitch it with ffmpeg. We even demuxed the vocals (center channel) from the MP3’s before we decided we rather keep the vocals in so users can sing along in the Twilio conference calls. We put in nice icing like having the star light up on the sing-along page in real time. We threw in images from the echoNest API for some added visuals. We even put in data validation and we cleared defects, one by one. We’re super happy that we got the app stable and tested with several successful Callaboraokes before demo time. I cannot tell you how hard we laughed singing “smack that, all on the floor” from the Akon song after extensive sleep deprivation. When we started the project, I thought it’d be a tall order to finish, but I’m so glad we did. The one feature we didn’t wrap up was the SoundCloud upload. We got through the OAuth 2 implementation, got the user token, but didn’t have time to finish the upload API call. By that time, it was an hour from demo, and most of us were too tired to think. I’m really thinking about how we could repurpose some of this app for a fun project for VEVO users.

We’re so happy that MusixMatch recognized our app for one of their prizes. But our team really came to Hack Day with the goal of meeting some talented people and spreading the word about VEVO being an awesome place to innovate. I feel we were successful in both regards. Great success!