So you want to run a hackathon? There are a lot of different types of hackathons you can run. Some are simply ideation sessions, others focus on the first stages of solving a problem, and others still are designed to teach people certain concepts, like human-centered design, particular tech stacks like JavaScript, or certain products like GitHub Actions.
Don’t believe the Hollywood movies! In general, a hackathon usually has nothing to do with “breaking into things”. Hacking refers to taking a problem or issue, breaking it down into its root cause, and finding a viable solution.
A hackathon is a short competition where people work together in teams to solve problems and challenges by coming up with solutions and ideas.
We know there are lots of different types of hackathons. If you'd like to have your hackathon promoted by GitHub, you can submit a request to have your hackathon featured on our GitHub Events page. If you'd like to do this however, your hackathon will need to align to specific criteria. Read about the criteria on our What is a GitHub Hackathon documentation.
Developers love working on hackathons for a number of reasons. When it comes to coding, hackathons are a perfect way to practice skills and network with people. Here’s some of the reasons why developers go to hackathons:
- Work on problems and solutions they care about
- Build their CV/GitHub profile through creation of products
- Learn and develop skills
- Practice pitching
- Network with people in an industry
- Opportunity to work on/with great software, technology, datasets
- Of course, people always appreciate any freebies and SWAG!
When creating a hackathon, you should think about what you can provide people as incentives to attend. How are you going to stand out and convince developers your event is a great way to spend their free time?
Your theme could be very specific (ie. how to use AI to solve traffic congestion in a city) or it could be something more open (ie. how to unlock a city’s potential and increase urban mobility?) The less specific themes are often better as it opens up to outside the box thinking. The more narrow the topic, the more similar ideas you’ll get. If you want lots of different ideas for various things, then open up the theme.
You don’t need to have a theme. Depending on your goals, simply having a “build something, anything, in 24 hours, and present the solution for review.” can be a good way of encouraging networking and building teams. These hackathons often have a “it has to work” theme rather than a specific problem to solve. This leaves the hackathon completely open to the participants to define their own problems and suggest a solution for it.
It can be really great for encouraging new startup ideas, business ideas, and when trying to recruit people for innovative thinking.
Other times you may want a theme, but still remember to keep it relatively broad. Themes like “MedTech”, “aged care”, “transportation”, or similar are great because they are very broad and can be taken in a lot of different contexts. Another example is the GitHub Game Off where the only guidance is that participants have to build a game. Other times you may want to narrow it down a little further. Slightly more narrow themes such as “How can we unlock a city’s potential?”, “how can we use machine learning in MedTech”, or “how can we use data X for the purpose of X industry?”. These are good because they are broad enough for people to interpret them, and narrow enough that desired outcomes are achieved.
GitHub's Game Off for example, only requires participants to build a game. There is no other criteria beyond this.
Avoid having a hackathon around something very narrow. For example “build a real time strategy video game to inspire kids to do their homework”. This would ensure all the ideas are very similar, which is not what you want.
Whatever theme you choose, whatever data sets, or technology you decide to have, it’s important to remember you’ll need mentors and experts there to help. For example, if you are using a data set that shows information around traffic congestion in the city, it’s useful to have someone from the transport industry to help explain the data. If you’re designing a hackathon to develop on a new blockchain platform, ensure the experts are available to help with that platform. Otherwise you’ll find participants will have questions that can’t be answered quickly and instead will either give up and go home.
Not sure where to start as a developer? Check out our handy guides and reference documentation you can use to start building.
You’ll need to decide if this event is virtual (online) or physical (in-person). There are pros and cons to each type of event. Let’s take a look at what those are:
Advantages:
- Build a great culture amongst people within the room
- Motivate the participants with “hype” and “atmosphere”
- People can easily learn from one another if in the same room
- Allows for serendipitous encounters
- Useful for short form events (ie. 5 hours up to a couple of days)
- Easy to hold a “science-fair” style demo pit of all the solutions/ideas
- People are more likely to participate while in the room due to “seeing” other people working
- Help builds a collaborative culture
Disadvantages:
- Venue hire, food, and other physical location costs will need to be covered by fundraising
- Need a good MC to tie everything together and keep the energy going and have in-person mentors available
- Less people can potentially participate
- People need to travel and therefore can exclude a number of people from attending.
Advantages:
- Not limited by region, therefore you can open it up to have a lot more people participate
- Barrier to entry is low; anyone with an internet connection can participate
- Better for long form events; ie. a number of weeks
- Easily recorded as you go
- Heaps of online tools to help you
Disadvantages:
- Much harder to create “connection” and “atmosphere” in a digital only world
- Participant networking is more difficult
- Harder to coordinate people into teams
- Harder to know if people need more help and to build connections with your mentors
If you prefer graphical formats, you might like this table showing the above information:
Now you have decided on online or in-person you also need to decide the type of format you want.
These are some of the things you can consider implementing into your hackathon plan.
The opening ceremony is your hype train. This is your opportunity to present to participants, sponsors, VIPs, and supporters about the hackathon. In the opening ceremony you can consider adding:
- Welcome from a sponsor or VIP
- Information around what the problem is or why you decided to run a hackathon
- Information from sponsors
- Tips and tricks for a successful hackathon from a participant’s point of view
- Explain how the results will be judged (ie. presenting, judging, voting etc.)
- Any team formation exercises if needed.
Regular review periods where you focus attendees attention on what is happening and where people are at. This will help keep participants on track but sometimes is also an opportunity for teams to join resources or for people to swap teams if another solution sounds like something they would have more fun implementing.
In a longer running hackathon, you might also hold workshops. Giving help on pitching, coding, design thinking, open source, maintaining projects, problem solving etc. All these workshops will not only upskill participants but will also help them develop good ideas and contribute to a successful hackathon.
Closing ceremony: whether online or in person, it’s great to close out the hackathon:
- Presentation of idea
- Judging of ideas
- Presentation of prizes
- Recap hackathon
- Thank yous
- Next steps (see below)
Other things you might like to consider depending on budget and goals:
- Food and drink breaks: mix groups up and allow them to network with a wider group of people
- Yoga sessions (great for 24 hour+ hackathons)
- Mini competitions:
- Dance Central
- Social media
- Best memes
- Massages
- Video sessions: vox pops with participants, sponsors, organizers
- LEGO Serious Play
Most physical, in-person hackathons will be run over one to three days. This is due to the intense nature of physical events and the required energy from both participants and organizers.
Virtual coding hackathons can last anywhere between a couple of days, and a few weeks. Think about what you’re trying to achieve and ensure you give participants adequate time to build out their ideas.
Even though GitHub Hackathons are about solving problems with technology, the most successful projects always have a diverse set of people involved. Even when it comes to coding, you don’t want all the same people in one team. For example, if you have all front-end developers, you’ll get lots of nice websites, but no back-end functionality. If it’s all coders then the design might be terrible, the documentation or video not understandable or the business idea not well thought through.
Most hackathon goers would have heard of the terms coder, innovator, designer. These three terms refer to the different roles within a hackathon team (even a team of one). If you have the right mix of these three personas, you’ll have the perfect dream team!
Coder: your techies. Engineers and developers are your coders. They are the dev gurus and usually have good knowledge of many different tech stacks. A more technical focused hackathon might have multiple coders in the group, just like a product or service will have multiple developers working together.
Innovator: your business and marketing people. They are the ones who validate ideas, understand the problem, research the market, and usually they’ll be the one presenting the final product.
Designer: your creative type. Every project needs great design, from beautiful UI to UX. These people focus on the product itself and how it looks and feels to the customer.
Any one person could have multiple skill sets that cover multiple roles above. For a hackathon however where there is usually a short timeframe required, it’s best to pick one role and focus your efforts there. It can also be more beneficial to the team. This is because roles are clearly defined and the team will be able to deliver something faster.
First thing to note, not every hackathon needs to have judging. For example, the GitHub Actions Hackathon is more a “challenge” where participants completed the steps outlined. In this hackathons, there were no “winners”—simply participating and delivering a solution that met the criteria was enough to qualify for a reward.
But a little light hearted competition can go a long way to motivate people. When it comes to coding, here’s some of the areas to think about judging.
Approachable: is the code easy to understand and contribute to?
Solution usability: is the end result easily used? It is utilising current tech stacks and practices?
Documentation: how well has the team documented their solution? Is it easy to understand? Is there a README file to get people started?
Security: is the code secure? Has the team thought about vulnerabilities and/or denial of service issues?
So all the fun is over, now what? There’s a number of options for what to do after a hackathon.
What you choose will depend on the reason for running the hackathon, what resources you have available, and what you’re able to do. Here’s some ideas of what you can do at the end of the hackathon:
Showcase the ideas in a public forum. Create a video, write a blog post, or have them on your website. Participants will be able to see the projects they created and tell their friends. Others in the community can see how successful your hackathon was.
Your hackathon was successful and new ideas were created, and problems solved. Why not celebrate that? Post about it on social media, share some highlights and more.
Encourage participants to share on their channels, and to put their accolades on places like LinkedIn. For an example, check out the GitHub Actions Hackathon blog post.
Encourage participants to add their hackathon creations to their own LinkedIn and GitHub profiles. Using the “pin project” on each individual’s GitHub profile is a great way to showcase what’s been built.
Some people in the hackathon might like to continue to build on their ideas. If you have people who can help your participants take their ideas to the next level, do it!
Encourage your participants who attended the hackathon to understand the concepts learned during the hackathon, Have them apply these concepts to everyday work life. Innovation, creativity, problem solving, critical thinking, teamwork, communication, and customer-centric thinking, should all become part of the way you work.
Liked the hackathon? Then run another one! Some companies and teams run annual, half-yearly, and even mini-monthly hackathons.
We hope these Tips and Tricks were useful. You can also download this document as a PDF. Feel free to use it, share it around, and consult it.
Don't forget to check out the Resources documentation for more tips and tricks, plus great tools that can help you as an organizer.
If you have new ideas you'd like to add to the Tips and Tricks document, please head to the Discussions and start a conversation. If your tip or trick gets a lot of attention, we'll consider adding it to the documentation!
When talking about tips and tricks, ensure your additions/changes includes information that is useful for hackathon organizers. If your addition or change does not include enough information, or is not geared towards hackathon organizers, then your change will probably not be included. Remember, this repository is for hackathon organizers, not participants.