My First Hackathon

and what I learned about writing shit code

You can take away three things from a successful Hackathon: new friends, new knowledge, and prizes. Last weekend at BattleHack London, I got all three. Here are a few tips that I learned from my caffeine-driven 48 hours.

Bring a couple people to work with

The reason I say a couple people is that I strongly believe you should try to meet as many new people as you can at the Hackathon. With a full roster, it may be tempting to just stay in your own bubble that weekend and pass up on a great networking/friend-making opportunity.

With that being said, finding a team of 3+ strangers willing to work with you, especially if you’re just starting out, can be a very daunting task if you’re all alone. The first thing to note is that, it’s really not that hard. Of course, if you are more on the shy side, it can be difficult to strike up a conversation but the cool thing about Hackathons is, everyone is there for the same reason you are: you love making things. Chances are, you have something to talk about even if it’s just asking them what they plan on working on. Once you get the ball rolling, simply ask if they’re looking to join a team. If so, congrats! It’s that easy. And if they aren’t, no sweat! There are litearally hundreds more to ask. Make sure you check to see if the event has a dedicated time/area for “speed-dating” team members as most do.

So you should try to find one or two friends/classmates willing to tag along and then, once you get to the venue, start talking to people and try to find more teammates.

I went solo for my first time, and I was lucky enough to find a really great team just by talking to people and mentioning that I came alone. Now that I have some good friends that I know I work well with, I’ll be giving them a call before my next Hackathon.

Play the Theme

Some Hackathons are sponsored by a certain company that encourages (or requires) you to use their API in your app. Do it. Seriously, it probably won’t take that much time to implement and if you get stuck, the staff will be more than happy to assist you.

Other Hackathons have a general theme that the apps should follow. Wheter it’s focus is wearable tech, medical issues, or music, your app should relate. Unless you don’t care about the first 3 prizes and just want to work on your own thing, your idea should fit as closely as possible into the concentration the speakers talked about in the opening ceremonies.

Our theme was social good and helping out charities. The 1st, 2nd, and 3rd winners all took that theme to the core of their apps and really showed that they were focused in on the problem.

…or the Sponsors

If you aren’t too confident in your ability to win the whole thing, it may be more plausible to win one of the many, smaller Sponsor prizes. At most Hackathons, there will be a couple (depending on the size of the event) companies sponsoring the event and helping contestants use their APIs. They also give prizes for the best use of their API so it can be smart to focus in on one API and build your app around it.

Now I’m not saying do this for the company with the best prize and ignore everything else. We were simply having trouble coming up with an idea and Estimote, a bluetooth beacon company, gave a demo of their products and blew us away. From there, we came up with an idea around the beacons and went to work. We ended up winning the best use of Estimote award and learning a lot about a piece of kick ass technology in the process.

It’s all about the Demo

The presentations at the end of the weekend decide who goes home with the prizes. The judges usually don’t want to see a PowerPoint (our’s even banned them) and you’ll have more of their attention anyway if you use an interactive demo. Now this doesn’t have to show every feature of your app, you can always mention something that you don’t show due to time constrictions. Depending on what time limit you have, things such as logging in or entering credit card details can be left out. You can either design a cheeky and clever UX (we’ll talk about that next) or you can try to save time and have the details copied to the clipboard before you present.

Whatever you are demo-ing, make sure to open with a story. Why is your app needed? What problem are you trying to solve? How can this app be useful to everyone in the room? You can make a super kick ass app that solves world hunger, but if you just show the different features and don’t explain the potential impact, some people (including the judges) might not get it.

A quick, one-liner joke works well too. You can open with an inside joke from something funny that happened this weekend during an activity, or how tred you are etc. If your topic is more on the serious side of things, you may want to save the joke for the last line or not include it at all.

Creativity also goes a long way. One presenter at BattleHack was dealing with P2P bike rentals and had a teammate ride in the room on a bicycle that he had “rented” on the app. They might not have one first place, but they sure as hell made an impression.

Code for the Demo not the Product

I just told you that the only thing that matters is the demo, so why should you spend time coding up that review feature that you’re not going to even talk about in your presentation? You shouldn’t, figure out the core features your app needs and start coding those. Then, once time starts running low, take those features and focus on one or two. The presentation is usually not long so you might not even have time to cover everything you’re working on. Focus on the things you know you’ll need and then move on if you finish with enough time to spare.

You can get away with a lot by simply having static data represent what your app does. Obviously you shouldn’t just make a fake app that doesn’t actually do anything to demo, but if there is a huge, important feature that is going to take you a long time to implement, make sure that gets done first.

Our app used an Estimote bluetooth beacon set up in your apartment to send an SMS to a loved one when you arrive home safely. For our demo, we used static data and showed how one could add a contact via paypal. Then we used what I had been up all night programming to send the text once the phone came in range. If we had actually programmed the contact and payment logic, we might not have had the main product to demo.

Try to nab a Designer

Like I said earlier, the demo is what determines the winner and a big part of the judging process is how your app looks and interacts. For this reason, I highly recommend finding a design minded person to join your team. Nothing is worse than when a team presented a really great app using the default bootstrap styling. Hardcore programmers might say that this part is nonsense but, if you want to win, your app has to look pretty.

I was lucky enough to have a very talented designer/front-end superstar to join my team and make my nonsense code into a pretty package. She even hardcoded the user information for the demo so I didn’t have to worry about adding a login feature.

Be Social and Have Fun!

By far the most important tip on the list. The whole reason you’re at this Hackathon is to meet people and to enjoy yourself. You could have stayed in your room programming all night if you wanted so take the chance to get out there and make some new friends. During meals or breaks, make sure you introduce yourself and talk about eachother’s projects. Everyone loves talking about what they’re building or the major problems they’re having. Hell, they might even be able to help you out if you’re stuck.

There was limited seating in the venue last weekend so my team shared a table with a team of two guys from northern England. At first we introduced ourselves and got back to work on our own projects but by midnight, we were laughing and having a great time. At the end, I connected with them on Twitter and I plan on meeting with them the next time I go to London.

I hope this helps a few new hackers as they make the leap from sitting at their desk alone all night, to sitting at a table with a buncha strangers all night. I had a really great time at my first Hackathon and I believe my attitude had a lot to do with it. If you’re ever feeling stressed at an event, just remember why you’re there: to learn and make new friends — and also prizes!