Process

How to win a hackathon? 12-step recipe from Apptension



Do you want to know how to win a hackathon? We decided to share our story and list steps you need to take in order to create the best project possible and, ultimately, win this competition.Hackathons are happening everywhere.You can hack for a good cause, hack some hardware or hack using a given API. You can take part in an internal hackathon, if your company decides to make one. There is every reason to think that these events are great for your overall technical development, for networking and what not.For many teams, however, the main goal is to win the hackathon and get the grand prize.Is there such thing as a sure-fire winning formula? No. Every hackathon is different and some things are more important than the others.For example, for many stationary events it is the final demo that counts - if your delivery is excellent, your chances get higher.We were fortunate enough to have been named the winners of HackSummit 2016 Hackathon powered by Koding. The fact that we were chosen from 98 000 participating programmers proves that we have done something right.Having this experience under our belt, we decided to share tips on how to win a hackathon. These are the steps you need to take in order to create the best project possible:

How to win a hackathon: Preparation phase

1. Gather intel

The more you know about the upcoming hackathon, the better. Read the rules, FAQ, basically anything you’ll find on the event’s website. Make sure you check the basic rules:

  • how many people are allowed in a team?
  • is there a theme/subject you should follow?
  • what kind of technologies are you supposed to use?

How we did this:
We read everything we could find, read it again and then read it some more. It seems basic, but it’s truly crucial.One true example to haunt you - the Hacksummit hackathon had one major regulation - only web projects were allowed, no mobile apps. And yet, during the event itself, it turned out that there were teams coding mobile applications.Trust me, you don’t want to be a team that creates a native app for a web hackathon.

2. Come up with an idea

If only it was easy, right? Creating a mind-bending, game-changing idea is not that simple, but there are ways to ensure you’re creating a product people could actually get excited about:

  • think about the needs and how to address them - you don’t need a gimmicky app people wouldn’t use. And the judges won’t appreciate that either.
  • come up with a general problem-solving concept and then shape it up
  • be realistic about what is possible to do in the set timeframe

How we did this:
We went by the book with a proper brainstorm enriched with several creativity-inducing techniques. And nothing happened or, at least, that’s what we though, expecting the Eureka moment!It never came.Instead, during the third meeting things just started to come together, the hybrid of previous ideas provided a perfect solution for the problem we wanted to work with.Had it not been for the initial meetings (that we were, to be honest, somewhat disappointed about), we probably wouldn’t have thought Propsy up.

3. Form the Dream Team

It is often the case that the number of members in a team is limited. It is tempting to include only programmers - after all, in order to win a hackathon, you have to know how to hack. The fact of the matter is, you will need other people as well - unless one of your teammates is a true jack of all trades. First of all, you need visual specialists to make your app look appealing, then business devs/content designers to translate it for the judges. Finally, think if there’s someone who’s willing to come to take care of you in terms of ordering some food and keeping the spirits up!

How we did this:
I was happy to see a great turnover for the hackathon - 13 people were ready to go.Apart from brilliant developers we also had designers, content writers as well as people who were there to help with basically anything that was needed.They all enriched the app in their own way, making it not only technically advanced but also visually pleasing and understandable for others.

4. Choose the techstack

Sometimes the hackathons are technologically-defined, for instance - contestands are supposed to use Angular.When you have the freeedom of choice technology-wise (as it was the case with the hackathon we won) it can be puzzling which way to go. I advise you not to experiment with tools you don’t know that well - playing with new technologies, while fun, probably won’t help you to win a hackathon.Think of flexible solutions, technologies easy to prototype in and frameworks making the most of the work for you. Words of wisdom? Don’t overengineer, it’s a prototype.How we did this:Following these points, we chose to write the backend of our app in Node.js and used Angular + D3 for frontend. Interface was made with Angular Material. Finally, we used Webpack to bundle the frontend together.

5. Get ready!

Hackathon could be like a school trip and think of it as such.

  • Do people know what’s the schedule?
  • Will they bring sleeping bags?
  • Do we have enough space for people to comfortably work and sleep in?

This is especially important when you have hackathon beginners in your team - they need to know what to expect.If you’re spending time making some plans for the actual work - do keep in mind that we tend to get too ambitious before the actual event. You can tell yourself you’ll power though 48 hours of coding, but, trust me, that’s not going to happen.How we did this:I’m the CEO of Apptension and all of the teammates work for this company as well.Our office is a spacious place, so it was a no-brainer to hold the hackathon here. We started with a long shopping list, full of healthy and unhealthy snacks. A case of energy drinks too!Before the hackathon we briefed every team member about the schedule and explained how we will work.Last but not least - we asked everyone to get as much sleep as possible before the event (we started hacking at 9AM on a Saturday).


Hackathon Phase

1. Map it out

Before you start coding, gather your team and walk them through the product you’re making so that everyone gets it 100%. Additionally set some meetings to check up on the progress, don’t forget about the food breaks!

How we did this:
I set up a Google calendar and planned a series of meetings - from kick-off, to daily reviews. This way people were able to plan their tasks accordingly and knew when they needed to have something ready to present to the rest of the team.

2. Get ready for plan B

During the Koding’s hackathon we saw that many people were saying they are unable to submit, because their project is not fully ready for the deadline. Not only would it ruin your chances in this particular event, but it may also discourage your team from participating in the future hackathons.Try to work in “submittable” increments and always take the worst case scenario into account.How we did this:We started from the core functionalities so that we would have something to submit if we run out of gas completely. The final hours were spent on additional details like a landing page, feeding the app with data or adding extra animations.

3. Watch the room

As a team leader try to check the pulse of your team:

  • Are they tired?
  • Aggrevated?
  • Frustrated?

Try to think of solutions that would help them to get back to their normal selves and power through the rest of a hackathon (or let them go home if they need to).You might need to juggle responsibilities if needed - there’s a chance the inital plans were not optimal and you need to swap tasks between people, for example.How we did this:We had scheduled breaks to get away from the code (not from the screen, though, most people chose to play FIFA during their free time). I also had to monitor the tasks and see if someone is, for instance, stuck for a long time on a single one.

4. Think like a judge

You know your project by heart, but the jury doesn’t. You may impress the programmers with your fancy code but the entrepreneurs from the jury will look for the market worth of your product which is not always translated directly.Try to have a landing page or explainer tips within your product to help navigate through it and show your project from the best angle possible.How we did this:Our hackathon didn’t have a demo contest to it, so we weren’t able to explain our product in person. We created a landing page plus some extra tips within the app that were supposed to show the judges all of the strengths of Propsy.

Post-Hackathon Phase

1. Get some sleep

Obvious or not, get some sleep. We did it and it worked great for us :)

2. Think of the future

You may already see that your project is a good market fit - in that case, think how you can develop it into a fully functioning product you can monetise. Brainstorm the possibilities with your team.Did you win a hackathon or get one of the main prizes? That’s an even bigger sign you should think about the future of the project you submitted.Listen carefully to the judges’ feedback and implement it into your app.How we did this:We’re actually right in this phase. We’ve been recognised by the judges and some media, we can’t wait to hear the feedback from the organisers about our app, and we’re thinking of ways to introduce Propsy into the market.You can sign up on our page to get the news first!

3. Celebrate and share your knowledge

First of all, give some props to your team.Win or lose, they made a great effort and they deserve recognition. Make sure they feel appreciated and understand the impact they made on the product.Whatever your experience was - whether you won a hackathon or wasn’t able to submit because you didn’t finish on time - it’s always valuable to tell your story. Let people learn from your mistakes or follow your success.Speaking of telling the story, I hope you found this guideline useful.

Read more

Containers on production: AWS Elastic Beanstalk vs Google Kubernetes Engine
These Companies Built Successful Products With React.js – Examples of Apps Built with React