How to run a successful Hackathon

A step-by-step guide by Joshua Tauberer based on running and participating in many hackathons.

These notes come from five successful years of Open Data Day DC and other civic hackathons that I’ve run, sponsored, or participated in.

The ideas have been inspired by many individuals, especially including my Open Data Day DC co-organizers Eric Mill, Sam Lee, Katherine Townsend, and Julia Bezgacheva, as well as Justin Grimes, Matt Bailey, Leah Bannon, Laurenellen McCann, and Greg Bloom.

What is a hackathon?

Defined

I define “hackathon” very broadly:

Hacking is creative problem solving. (It does not have to involve technology.)

A hackathon is any event of any duration where people come together to solve problems. Most hackathons I’ve run also have a parallel track for workshops.

Participants typically form groups of about 2-5 individuals, take out their laptops (if the event is technology themed), and dive into problems. Training workshops are a great parallel track especially for newcomers but also for all participants.

Positive energy

Hackathons have gotten a bad rap because of some that have an unhealthy, competitive structure, and for setting unrealistic expectations. Don’t run a hackathon like that and you’ll be on the right track. Here are the goals I keep in mind:

Strengthen the community that the hackathon is for.

Be welcoming to newcomers to the community.

Provide an opportunity for participants to learn something new.

Provide a space and a time for participants to make headway on problems they are interested in.

Don’t expect to have actually solved a problem by the end of the hackathon. Real life problems are hard! Think of the hackathon as a pit-stop on a long journey to solve problems or as a training session to prepare participants for solving problems.

Since you’re not going to solve a problem, don’t put unrealistic (and unhealthy) pressure on your participants. Don’t stay up all night, don’t pump participants with caffeine, and don’t make winners and losers. Just don’t. There has never been beer, competitions, or time pressure at my hackathons. Participants should come energized and be greeted with positive energy.

Wait — maybe a hackathon isn’t the right thing

My notes below are mostly logistical and assume a technology-centric approach. I take it for granted that you want to run a hackathon. But read So You Think You Want to Run a Hackathon? Think Again by Laurenellen McCann for thoughts on other (and sometimes better) ways of engaging a community.

If the goal of your hackathon is to market a product, stop here and read a different guide. Your goals and my goals are not the same.

Welcoming newcomers

The hardest thing about running a successful hackathon is being welcoming to newcomers and helping them get involved in an activity.

Newcomers often suffer from “imposter syndrome”, the feeling that they don’t belong because they don’t have skills, aren’t smart enough, etc. They’re wrong, of course, but until they feel like they belong they will not be able to have a fulfilling experience. It is the hackathon organizer’s job to help them realize they have something to contribute.

First time hackathon participants are often overwhelmed when it comes time to finding a project to work on. They may not yet know how to relate their own skills to the sorts of projects being worked on. Knowing how to be useful is a skill in itself. You will need to guide them to a project and through a process for them to realize how they can contribute. If you have too many lost participants and not enough help in getting them started on a project, they will leave — try to avoid that.

The hackathon organizer must make sure that everyone has something to do. One way to do this is to have a list of project leaders ahead of time: people you know are coming with particular projects that you can guide other participants to. And you can work to make sure your hacking projects are ready to accept newcomers. You can also hold non-project activities — workshops, described below — which are easier for newcomers to join.

You could also consider pairing newcomers with mentors or holding a pre-event session just for newcomers, as Wikimedia recently did.

Hacking

The hacking track is for participants to dive into problems. Often groups of 2-5 individuals form around a project, such as building a new data visualization, writing a document, or collaboratively investigating a problem. Participants take out their laptops, connect to power and wifi, and get working.

Hacking begins with project introductions. Participants that bring projects to the event have an opportunity to briefly (1 minute max) explain what they are working on at the very start of the event so that other participants can join that project. At the end of the event, a wrap-up session gives each project a chance to demonstrate some accomplishments.

Cultivating Good Projects

Not every project makes a good hackathon project. It is extremely important to maximize the following qualities in the projects at your event:

Clearly articulated. Projects should have a clear question or problem they are trying to solve plus a reasonably specific proposed solution.

Attainable. Most projects will accomplish about 25% of what they think they can accomplish in the limited time they have. Manage each project’s goals so participants are able to feel accomplished at the end of the session, not interrupted.

Easy to onboard newcomers. Projects should have ready-to-go tasks for newcomers with a variety of skills and at a variety of skill levels. For coding projects, these tasks can’t require an intimate understanding of the code base, and make sure the build environment can be spun up in less than 20 minutes. Make a list of tasks or create github issues ahead of time!

Led by a stakeholder. A stakeholder (or “subject matter expert”) guides a project to real-world relevance. Projects without a stakeholder can “solve” a problem that doesn’t exist. Ideally the leader (or one of the leaders) is a stakeholder, or a good proxy for a stakeholder. I strongly recommend reviewing Laurenellen McCann’s Build With, Not For series on involving stakeholders in all civic tech work. Additionally, it is never enough for a project leader to just be an ideas person. Beware when the leader is a stakeholder but can’t foresee how he or she might be implementing along with the rest of the team.

Organized. For projects with four or more members, especially newcomers, the project leader’s role should be to coordinate, ensuring each team member has something to work on and helping to welcome new team members.

Treat these bullets like a checklist. Projects that think about themselves in terms of these qualities tend to be happier and more productive.

If you know what projects are going to be worked on at the event, the earlier you can get those projects thinking about this the better. Meet with project leads and talk about these components of their project ahead of time if possible. As an organizer, having this information about projects can also help you route participants to projects they may want to work on.

At Themed Hackathons

A themed hackathon is one in which the projects are confined to a particular problem: such as food sustainability or returning citizens. Themed hackathons are able to attract subject matter experts (something that open-ended hackathons like Open Data Day DC are not good at), and projects typically revolve around problems that the subject matter experts bring to the table.

When themed hackathons are also technology hackathons, there is a common problem: Subject matter experts can readily identify problems in their field but cannot always turn those problems into workable technology projects. Other participants may be ready to apply their skills but not know anything about the hackathon’s theme. Bridging that gap requires careful planning ahead of time.

What often results is a division of the room into three groups:

Subject matter experts and other participants successfully working together.

Subject matter experts working with other subject matter experts on problem investigation but not implementation.

Other participants struggling to find something relevant to work on / implementing a solution of minimal value to solving the theme’s actual problems.

#1 is great. #2 is fine if the group is happy. But #3 is bad: participants without subject matter guidance will feel lost. To avoid this, make sure you have enough workable projects for everyone ahead of the event. Work with the subject matter experts before the event to turn their problems into projects. See the section Cultivating Good Projects above to ensure there is a coherent question, that the necessary resources exist (e.g. datasets), and that the skills needed for the project match the skills expected to be brought by other participants (and in sufficient quantity).

Additionally, a subject matter expert may propose many ideas but he or she can only effectively participate in a single project during the event, so ensure that there is at least one subject matter expert + workable project for about every four non-expert participants.

Placing Newcomers into New Projects

Onboarding participants onto existing projects can be very difficult. It is one of the hardest parts of hacking. So have ideas for new projects that are especially easy for participants to get started with if they can’t join an existing project. Having project ideas ready is especially important if you do not expect many participants to bring projects! And always be open to project ideas from participants. A project of one, meaning someone working alone, is okay too!

Other Tips

Do not allow anyone to pitch an idea that they will not be working on at the event, unless there really are not enough ideas to go around. Otherwise, this is a waste of everyone’s valuable time.

Once hacking has begun, do not interrupt the hackers except to ensure that the hacking is going smoothly, to check that everyone has something to do, and to keep people on the overall schedule. Mid-day activities such as lunch-time speakers and video calls with people off-site are incredibly distracting for participants who are now eager to get working on a problem.

Training

A successful hackathon might be just hacking, just training, or both hacking and training.

If you have a significant number of newcomers, having training workshops is a great way to give them something to do that they will be more comfortable with than diving into hacking. You can run workshops to introduce participants to the subject of the hackathon or to particular technical skills useful for the hackathon. Workshops can also be places to have a discussion about issues in the field related to the hackathon. Workshops should be interactive as much as possible

Choose your workshop leaders carefully. Ideally the leaders have run the same workshop before so they are well rehearsed. They should also be as diverse as the attendees you would like to see present at the event (gender, race, age, etc.). Read the Hopper Conference Diversity Guide’s tips on selecting speakers.

Run the workshops in a second room if at all possible. 45-90 minute workshops are a good length. If you have more than one workshop, leave 15-30 minutes free between workshops to allow for the first leader to close up and the second leader to set up.

At Open Data Day DC, we have run six workshops over two days on an introduction to open data and APIs, an introduction to collaboration using github, open mapping, an introduction to Python, and community engagement.

Venue & date

Basic requirements

Find a venue to host your event and reserve the date. This is the only thing you need to do significantly in advance of the event. The earlier you can reserve space the better.

Find a venue that can provide:

Proper seating (see below)

One power strip per table

Wifi (is it fast and reliable? can it connect all of your participants? does it block any ports?)

Projector

A microphone, at least in large rooms

Accessible entrances and wheelchair-friendly seating space (and if there is a stage, check if it is accessible, if applicable)

Seating

Seating requirements are different for hacking and workshops. For hacking, you will want a banquet-style setup with large circular tables that seat about 10 people each. Rooms in banquet-setup hold the fewest number of people compared to other table/chair arrangements, so take that into account when computing capacity. For workshops you will want classroom-style seating, i.e. rectangular tables with chairs on one side.

When

Choose the date of your event carefully. Avoid the summer, holidays, and other major events in your field. Weekends are hard for people who are attending in their professional capacity. Weeknights are hard for parents.

Ask your venue about permissible start and end times. Set times for when you will arrive/leave and for when participants will arrive/leave. Plan at least 30 minutes before and after the event for you to set up and tear-down/cleanup.

Make sure you can get in and that your participants can get in. If the building’s front door is locked, make sure you have a key and that you have someone posted at the door to let in participants (you may need a team of people to rotate at the front door throughout the day).

Also check...

Check whether the venue permits you to have food in the room.

If holding the event outside of business hours, check that the venue will have air conditioning/heating.

Budgeting your venue

Professional venues charge quite a bit of money, so you will need to find something that fits your budget. Hopefully you can find some free space with good wifi (your local library, a friend’s company, etc.).

For a large, one-full-day event in a major city, expect venues to change in the thousands of dollars per day. It depends on how much space you need, and there is no rhyme or reason to pricing, but it usually comes out to about $10-$30 per person.

Sponsorship

For large events, you will probably need sponsors to help you cover the costs.

Sponsors will give you something — cash, space, food, t-shirts — with the expectation that they get something out of their support for your event. They might be recruiting/hiring and are looking to scout out your attendees, or they might be marketing a product that they want to promote.

Think about what you’re willing to give sponsors in return for their support. You will certainly thank your sponsors, by name, during your opening and closing session, and you will probably want to tweet your thanks too. Beyond that, do you want to give them a time at a podium to speak to your attendees? Or a table in the back to show off their stuff? It’s up to you, and you have to strike the right balance between bringing in enough sponsorships with not interfering with the goals of your event.

Figure out your budget — your venue and food costs, especially — first, so you know how much in sponsorships you need. But then get started on securing sponsors early.

Food

Ideally you should provide coffee and light fare for breakfast and beverages throughout the day (especially water). Food is surprisingly expensive though, so do what you can.

What to buy

If you provide any food, you really must supply vegetarian and dairy-free options because these dietary restrictions are very common. Going all-vegetarian isn’t a bad idea. After that, give consideration to other restrictions your participants may have (vegan, kosher, gluten-free) and do your best.

Be responsible with your food. Think like a parent. Order food that is relatively healthy. Avoid heavy foods that make people sleepy (like bread) or ineffective (like alcohol). Caffeine and sugar are fine (energy is important), but have real nourishment too..

Budgeting and logistics

Figure on $7 to $15 per person. Pizza is the cheapest food to get, but it’s also basically the worst thing you can possibly feed someone (and not everyone eats it) — avoid pizza if you can.

If you are ordering food, you will probably place the order at least three days ahead of the event.

Swag

Some events like to provide swag, like t-shirts or stickers. Personally I think there are much better ways to spend your budget, but if you really want to provide swag keep in mind–

Code of conduct

Technology events have a history of not always being welcoming to women and minorities. We need to change that. You can be a part of that change by adopting a code of conduct for the event. A code of conduct is not just about enforcing rules. It sets community norms and sends a signal to would-be participants that you are trying to create a welcoming environment. And, of course, if there is a problem at your event having a code of conduct ahead of time will help you resolve the issue.

Happy hours

A pre-event happy hour the night before helps participants to get to know each other in a relaxing setting. A post-event happy hour the evening after the hackathon wraps up gives participants a chance to socialize now that they know each other.

For large events, pick a bar ahead of time and talk to the bar and make sure it is ok for you to bring a large group. You may want to reserve a section of the bar (they may ask for a payment ahead of time or a guaranteed minimum spend that they will charge you after if your people don’t order enough).

If you are serving alcohol keep in mind: not everyone drinks (those under 21, pregnant women, and many many other people for a variety of reasons); alcohol can lead to an unsafe or uncomfortable environment; those that drink will need public transportation to get home. So therefore: provide non-alcoholic drinks; supervise the environment to ensure it remains professional and comfortable for all; be near public transit.

Registration

Registration Limit

Determine your maximum capacity. For an event with parallel tracks, bear in mind that participants will all gather in one room at the start of the event, so your maximum capacity is a little larger than the capacity of your main room (some people can squeeze/stand at the beginning).

For a free event, about 65% of those who register will actually show up. This number is very consistently seen across events. So cap registration at 150% of your actual maximum capacity.

The more information you can gather ahead of time the better planning you can do. You can start to think about who will be working on what as soon as registrations start coming. Literally try to imagine how each registered participant will keep occupied at the event based on whatever information you know about them.

Ten days before

Find project leaders

Look at who is coming and if you know some of those people are coming with particular projects, identify project leaders. You may also want to meet with them at this time to:

Guide them on how to make progress on their projects

Identify how they can take on newcomers, what tasks are doable for newcomers

Identify what sort of help their project needs

See the section Cultivating Good Projects above.

Find helpers

If you are running interactive workshops where the participants are following along on their laptops and expect many participants to attend, you may want to have workshop helpers around to help participants that get stuck. Plan for at least one helper for every 10-20 participants.

Also find helpers to run a registration table and the building’s front door if it is locked, and you can also consider identifying volunteers to take point on photography, managing social media, and documenting what happens at the event for storytelling afterward.

Email attendees

You may want to email the registered attendees at this point with as much of the logistics information as you know, so that they can plan ahead. See “The day before” below for what to include in the email.

Three days before

Set up group communication

Set up a way for your participants to communicate digitally and stay in touch after the event. Some options are:

Plastic cups, paper plates, and disposable utensils if you are providing food

Also...

Place any food catering orders

Email any journalists you know who may be interested in the event

Charge your camera so you are ready to take photos

Some venues require a list of participants for security. If you need to submit a list, make sure you alphabetize it! Security will probably print whatever you have as-is and things get complicated quickly when the list is not in order.

Email attendees again

You may want to email the registered attendees at this point, again, with as much of the logistics information as you know, so that they can plan ahead. See “The day before” below for what to include in the email.

The day before

Walk-through

Do a walk-through of your venue. Ensure you have:

Banquet tables for hacking, rectangular tables for workshops

Enough chairs (count them!)

One power strip per table

Working WiFi

Working projector and VGA dongle (maybe even test your computer)

A microphone, at least in large rooms

If you have two parallel tracks:

Go over the list above once for the hacking room and again for the training room

Ensure you have enough space to hold everyone in one room because participants will gather in one room first for the welcoming session

Email blast

Send out a logistics email to registered participants. Include:

Your contact information, including your cell phone number so participants can call/text you if they cannot find the venue

Any pre-event and post-event happy hour information: location, date, and time

Start and end dates and times of the event

Location of the event (address and building name), exact location of entrance, directions, and map

Reminder to bring ID if the venue has a security check-in

Reminder to bring a laptop and charger

What food/beverages will be provided and when (breakfast, lunch, dinner?), and what restrictions will be accommodated (vegetarian, etc.)

Schedule of workshops, if applicable

Your code of conduct (or a link)

If there are any disability accessibility issues with the venue, include that

Any read-ahead materials to prepare them for the topic of the event

Names of the organizers and acknowledgement/thanks to sponsors

Handouts

Print handouts for participants that include:

WiFi info (SSID and password)

The event’s hashtag and URL

The schedule (start time, lunch, end time, and workshop schedule if applicable)

A list of breakout rooms

Recommend nearby locations for lunch/dinner (and include a map if possible)

A short URL (e.g. bitly) to the tumblr or hackpad page

Print one copy per table (i.e. one copy for every ~5-10 participants).

Also

Prepare slides for the welcoming session (if you want)

Charge your phone. It is going to be a long day tomorrow.

Hackathon schedule

When you arrive early

Make sure things are OK: tables/chairs are there, the projector works, restrooms are in working order

Post signs from the main entrance of the building to where participants should go first

Post signs to restrooms and any other rooms participants may need to go to

Lay out the name badges. If they are printed with names, lay them out alphabetically and if there are a lot group them by part of the alphabet and post signs.

Welcoming session

Start with a brief session welcoming everyone and laying out the day:

Introduce the organizers

Thank the venue and sponsors (do not forget anyone — this is why they sponsored you)

Explain the history and purpose of the event

Mention the code of conduct (again, the point is often to set norms, not merely to enforce rules)

Ask who has not been to a hackathon before, or to your particular event before; give an applause

Explain logistics: the Tumblr, the schedule of workshops, lunch, end time

Encourage people to take and share session notes and to record progress on projects (see the notes above on telling the hackathon’s story)

In a small event (up to about 30 people), you can have all of the participants introduce themselves.

Anyone who has brought a project to work on should then introduce the project to everyone. This is sometimes called “project pitches.” Keep each pitch short: the leader’s name and affiliation, a problem statement, the solution, and the skills/help needed. Project leaders tend to talk for as long as they can, so you may need to cut them off after one minute to be respectful of the audience’s time. Encourage leaders to think of this not as recruiting but as boasting how awesome their day is going to be.

During the day

Have someone managing the hacking room. Go around to check that every project is going smoothly. See if anyone needs anything or can’t find something to work on. Keep people on the overall schedule. Alert everyone when it is time for lunch and one hour before the wrap-up session. Leading up to wrap-up, make sure each project is prepared to explain what they did. Get them to record their progress on the tumblr.

Have someone managing workshops. Make sure workshops stay on schedule, that participants are understanding the leader, can hear the leader from the back of the room, etc. Be around to ensure that the workshop leader doesn’t have any technology problems. An organizer should be on hand at the workshops at all times.

Wrap-up

The wrap-up session gives everyone a chance to hear what everyone else worked on during the day. For a small group, ask volunteers to report what they accomplished or what they learned (especially for workshop participants). Give folks rounds of applause.

In large groups, have each project report on its accomplishments. If possible, let them show their work on the projector. But keep things quick. By this point projects may have a lot to say. Keep each project to 1 or 2 minutes, and if they are going to show something on the projector make sure it is ready before the wrap-up session begins.

Finally:

Thank the venue and sponsors

Thank the attendees and co-organizers

If there is a post-event, direct people to it or ask a volunteer to lead people over

Tear-down

Finally once all of the participants are gone, make sure the venue is returned to its original state:

Clean up

Remove signs

Check for lost items

Post-mortem

After the event:

Write down everything that went right so you can repeat it next time

Write down everything that went wrong so you can avoid it next time

Compute how much the event cost in total and per participant, just to know