My first hackathon
Despite having been interested in coding since I was a teenager and helping out at youth coding clubs for the past couple of years, it occurred to me recently that I'd never actually participated in a hacking event. This weekend, I bucked that trend.

I had been keeping an eye out for an interesting looking event that I could attend when I came across Hackference Brum. The event looked perfect; right in the centre of Birmingham, with talks from industry professionals from the likes of Twitter, Twilio and Paypal (there were many, many others involved!) followed by a weekend of coding. Unfortunately I was unable to attend the conference element of the event, but I did go along for the hackathon over the weekend.
The aim of the hackathon was to develop a hack (be it an app, a website or a piece of hardware) in 24 hours, using the APIs (Application Programming Interface) provided by the various sponsors. For those who don't know, an API provides some way to enable coders to interact with a company's service, for instance the Twitter API allows you to interact with Twitter from your own program's code.
I arrived in time for the start of the hack at 10am on Saturday morning with little idea what to expect. I thought I might just float around chatting to people about what they were doing and maybe have a go at writing a little hack of my own. Once the morning talks got started by some of the sponsors involved in the event, my excitement started to build and I quickly decided that I wanted to get coding!
Unbeknownst to myself, a young lad named Cameron who I have mentored over the past couple of years of working with Young Rewired State was also at the event so we decided to pair up and work on a hack together. Cameron had turned up with an extremely 80s looking MIDI keyboard with the idea he might be able to do something with that. We continued to watch the talks and were given a great demonstration of Twilio's API.
Twilio provide a range of telephone services that can be used by businesses or individuals to enable interaction with customers via SMS or call. Sounds like a pretty standard and boring business idea, but what makes Twilio really interesting is that their API allows you to do all of this via code. I believe it was this demo that sparked Cameron's idea to make a "procedural 'Guitar Hero' game."

We put our heads together and brainstormed how we were going to get this done in the 24 hours we had before it had to be presented. We decided that we would create a multiplayer game with a website that anybody could go to in order to start a new game. From there, the host would choose a genre of music to base the game around then invite friends via text message directly from the website. Once the game started, a random song from the chosen genre would be chosen and a 10 second excerpt would be played to all players tracking the game on the website. Each player would in turn receive a phone call which would also play them the song excerpt in case they weren't at a computer, then they would have to copy the song by either singing, humming or playing it on some sort of instrument down the telephone. Finally, our game would judge how similar to the original the player's attempt was and score them.
We had our work cut out for us!
While I worked on the website part of the hack, Cameron got to work writing the code that would be able to compare two recordings and judge their similarity.
There were all sorts of weird and wonderful hacks being developed. One team, made up of Birmingham.IO organizer Daniel Hollands and Dave Evans, also used Twilio's API to make a game. In their game, G P Espionage, the player received instructions from MI12 (a fictional, 'twice as secret as MI6' spy agency) telling them of a mysterious terrorist plot and giving them hints as to where they could find the next clue. Using the GPS in the player's phone, the game could detect when the player had arrived in the vicinity of the next clue and prompt Twilio to call them again with more instructions. It looked like great fun and I hope Daniel and Dave continue to develop it now that the hack is over.
Another hack I found really interesting was called Tweet Tracks and was made by Melinda Seckington. Using a combination of the Twitter API, Spotify API and the dandelion dataTXT-NEX API (phew!), Tweet Tracks worked it's way through your Twitter feed identifying songs related to the tweets it contained and displaying them alongside those tweets. During the live demo (brave!), one coder asked to see the hack demoed on Justin Bieber's account. It turned out the song #SELFIE by The Chainsmokers features prominently in his stream; take from that what you will.

There were also a range of hardware hacks created, from the box of bees - a box labelled 'Warning: Bees' which simply made a buzzing sound to scare people off - to a drone intended to scan for water by tracking the movements of wild animals in places like Africa, helping those in need to find water.
There were even two lads at the hackathon who had never coded before in their lives and spent the entire 24 hours learning Javascript - bravo to them!

After a solid night of coding, finally at around 9am on Sunday morning we had a working game! Full of excitement and with a couple of hours to spare, I started to upload our work to my web server (we had been working on offline copies on our laptops) ready to present when disaster struck; a difference in Linux distributions between our laptops and my server meant that once online, the game ground to a halt.
We spent the final two hours desperately trying to fix the problem on the server but we were unfortunately unable to complete it. Instead, we quickly made a mocked up version of the game to demonstrate to the crowd, but it would have been amazing to have gotten everyone to join in and actually play the game. Alas, it was not to be!
It was a fantastic and exhausting weekend and an experience I'd definitely recommend to anyone with even the slightest interest in coding.