I don’t have a lot of experience participating in hackathons, but of the ones I have participated in, I have been fortunate enough to win them.
Winning can be based on different factors, many not in your control, so “winning” is not necessarily a good indicator of having had a good hackathon. I would say optimize for learning instead of winning. You will be far more interested in actually building something, and the end result, whether you win or not will be way better than having built something in order to just win.
So lesson 1,
Don’t try to win, try to learn.
When deciding to do a hackathon, maybe the most important two decisions are (1) what project you do and (2) who you do it with. Obviously, you may not have a ton of options of who to do a hackathon with, but if you do have a choice, having the right team to build something with will be a huge advantage when faced with the difficulties that spring up.
In order to get the right team you should do the following:
(1) Ask early (2) Ask a lot of people (3) Know people’s interest’s / strengths (4) Say no to people (If you don’t want to be in their team)
Choose the right team, or at least don’t choose the wrong team
Now that you have a team and a motivation to learn, the next clear step is choosing a project.
When deciding what project to pursue, I think something that is overlooked is the actual ideation of a project.
For ideation of projects, here is what I say:
If you are trying to win, you should build something that has a wow factor, and this can be achieved in two ways:
(1) Through high tech (or something that seems like high tech) (2) A cool interface / display
If you can find the intersection of these two + a technology you want to learn, then you have the winning combination for a hackathon.
Go through a lot of ideas quickly and iterate / improve on them to find something your team is interested in. I know that if everyone in the team is interested in the project, then everyone will be more motivated to work harder.
What my team did was go through a list of API’s we thought were interesting, and then quickly dismissed those we knew we couldn’t do something cool with. If some were interesting, we would see previous hackathon projects to get inspiration and see what people have come up with before. (I’m not saying copy, just saying know what’s been done before)
So this is my third tip, which is pick an idea that has the possibility of winning.
Pick a winning idea
The fourth step is clear and that is work on the project until you finish. The time crunches can be stressful but rewarding (if you finish the project successfully), and you will build fun memories along the way.
Divide up the work based on strengths, and collaborate / help each other out as much as possible. You learn a lot just by watching other people work, and it is very fun to create something cool with friends.