How to Run a Hackathon

Understand Your Goals

The first and most important step is to understand the goals of your hackathon. Are you looking kick-start an open data developer community around your data? Do you want to inspire or incubate local startups to join in the effort? Are you trying to connect developers with local community leaders? Depending on your goals, you may want to tweak the recipe given below to give you the best results.

It’s also important to understand your constraints. Google, Amazon, and Microsoft weren’t built in a day, so don’t expect the next killer iPhone or Android app to be completely built within an 8-hour hackathon. But, by providing a group of developers a forum to meet, inspiring them with hard problems, and supplying them with data to drive their applications, you might just spark the next innovative company or solve real problems in your community.

Socrata CEO Kevin Merritt (center in Hawaiian shirt) served as a judge at the state of Hawaii and the city of Honolulu’s Hon*Celerator.

Planning Your Hackathon

You should plan on starting this process at least three to four months out. That will give you sufficient time to arrange logistics and market your event.

Pick a date

Most day-long hackathons are on Saturdays, but that’s not a hard-and-fast rule.

  • Look for tech conferences in your area that you might be able to partner with. Tying your event to a conference is a great way to help market it, and you may have a larger pool of developers to recruit from.
  • If you want to get government employees or officials involved, you may want to hold part of the event on a weekday leading up to the event. Holding a “kickoff” on a Friday afternoon or evening can give those employees a chance to take part without giving up their weekend.
  • Although it may be tempting, avoid holiday weekends and the periods around them. Even software developers go on vacations.

Find a location

Location! Location! Location! Where your hackathon is held can have a lot to do with its success. Make sure you scout out a good location that’s available for your date.

  • Pick a location big enough for the number of attendees that you anticipate will come.
  • You’ll want a good mix of spaces. You’ll need a big common room with seating and a projector for the event kickoff, demos, and awards. It’s also great to have break-out rooms for teams to work together or where people who like a quiet place to work can put their heads down and focus.
  • If your budget is tight, don’t feel like you need to spend top dollar on a venue. Local tech companies are often quite happy to host hackathons as in-kind sponsors. Also, check with local universities, libraries, churches, or hackerspaces.
  • Make sure your choice of venue has sufficient power and Internet bandwidth for your event. While extra of both can always be brought in, it can add significantly to your logistics and your cost.
  • If your venue doesn’t already have chairs, tables, and whiteboards, you may need to borrow or rent them.

Line up sponsors

Running a hackathon isn’t free, so you’ll need to talk to potential sponsors to see who you can help fund the event and offer resources. Talk to local software companies, government agencies, and businesses.

Many times if you can’t get a sponsor to donate money, they might be willing to be an in-kind sponsor for the event. Donations of space, food, or volunteers can go a long way to helping stretch your budget.

If you can’t find enough sponsors to fund the entire event, you can also request attendees pay for tickets. While this may reduce total attendance, even a small ticket cost may encourage developers who sign up to follow through and attend.

Build a web presence

Make sure you have someplace for attendees to learn more about your event and sign up. Include details about when and where the event will be held, who is invited, and a link to a signup form.

Building a web presence doesn’t have to break the bank. A simple one-page site will suffice, and you can use tools like Github Pages or Smore to create them quickly and easily.

For creating a quick and easy way for attendees to sign up, I highly recommend EventBrite. They provide all the tools you’ll need, including an easy way for attendees to pay for tickets if you’ll be charging. Your event will also show up in their event calendars, which will help with marketing.

Market your event

At least one month out, and preferably closer to three months, start marketing your event. Depending on its structure, there are lots of different ways to get the word out, but some great ideas include:

  • Contact local developer groups and ask them to help. Visit developer meetups to pitch your event, and email out details on their mailing lists. Ask first, however, to make sure they’re OK with it.
  • Post fliers around local universities, especially in the Computer Science building.
  • Send out teasers about your event on Twitter and see if you can get well-connected individuals to spread the word, as well.
  • Post announcements to forums like Hacker News or Reddit (look for a “Subreddit” specific to your area).
  • Contact bloggers like Kin Lane from The API Evangelist and ask them to help get the word out.
  • And, of course, Socrata will be more than glad to get the word out to our network as well. Make sure you let us know about your event.
  • Here are some websites to check out for ideas on how to market your event:

Set your rules

If you’re going to be judging winners for your event, and especially if you’re going to be giving out prizes, it’s important to clearly document and share your rules so that everyone can review them before the event. Confusion or disputes over rules and judge’s decisions can spoil an otherwise successful event.

Tailor your rules to encourage the kind of results that you’re looking for. For example, if you are looking for your attendees to solve a particular set of problems, or you have particular issues you’d like them to address, tie the

judging criteria to those goals. I usually suggest the following three judging criteria as a start:

  • Impact – Would the application have real social impact? Can it change the world, or at least help someone in your community? Does it solve a stated goal of the hackathon?
  • Innovation – Is the solution novel? Does it solve a problem in a creative or never-seen-before way?
  • Technical Achievement – Did the participant(s) solve a hard technical problem? Did they get a working demo completed within the allotted time?

Using those three criteria to judge teams at the end of day will provide you a good, balanced way of assessing teams’ output. It allows you to recognize teams that may have come up with an innovative and impactful idea which was too hard to complete in a single day.

Round up your judges

You’ll want three to five judges, and it’s best if they not be the same as the core organizers of the event. Great candidates for judges include government officials, key members of the local developer community, or representatives from local media organizations.

Your judges don’t need to be there the whole day, but make sure they know to show up at least 30 minutes before judging so you can brief them on how judging will be performed.

Set your schedule

Set and publicize your schedule for the day ahead of time so that everybody knows how the event will proceed. It’s important to stick to your schedule so that you don’t run the risk of getting behind and having to rush later parts of the event.

Here’s a sample schedule that has worked well for other events:

Time Description
8:30 AM Doors open, check-in begins, breakfast is served
9:00-9:30 AM Event kickoff (contents of the kickoff are detailed later)
9:30-10:00 AM Pitches and group formation
10:00AM Hacking begins!
12:00-1:00PM Lunch is served
2:00 PM Team registration closes
4:00 PM 30 minute warning! Demos begin at 4:30PM
4:30-5:00 PM Project demos
5:00-5:15 PM Judges confer on their top picks
5:15-5:30 PM Prizes awarded, closing statements
Socrata Developer Evangelist Chris Metcalf (seated left) prepares with the open government team in Alameda County for their first-ever hackathon. (Photo Credit: Tobin Broadhurst)

The Day of the Event

The specifics will differ a lot based on your venue and how you’re organizing the event, but the following is a good set of “rules of thumb” for how to run different phases of the event.

Setup and logistics

Show up early or come the night before and set up your venue. Specifics of what you’ll need will depend on your venue, but here are some guidelines:

  • Make sure you’ve got lots of power outlets. Beg, borrow, or buy power strips and make sure every table has access to as many power outlets as it has chairs.
  • Print out the following signs and post them conspicuously:
    1. Directions: If it’s not immediately obvious how to get into the rooms for the event, post a sign with directions and a contact number if there are problems.
    2. Wifi: Details on how to get on the wireless network. Include the network name along with any temporary username and password or registration details needed.
    3. Timeline: The event schedule needs to be easy to find. It’s critical to keep everybody on task.
    4. Restrooms: Directions to bathrooms, and bathroom codes, if they’re relevant
  • Make sure the projector works and will connect with your laptop. You’ll likely need adaptors (dongles) for Apple laptops to connect to the projectors.
  • Set up any audio or PA equipment that you need.
  • Provide nametags stickers and markers. It helps if organizers and volunteers have nametags that distinguish them from attendees, so they’re more easily identifiable.

The event kickoff

The kickoff sets the tone for the whole event. There’s no need to be overly formal, but a structure like the following works pretty well:

  • Introduce yourself and the other event organizers.
  • Review the schedule, goals, and rules for the event.
  • If you have government or community representatives there who have come with problems they need help solving, give them a chance to present their case.
  • (Optional) Give everyone a chance to introduce themselves. One way to keep this from going out of control is to go around the room and have everyone say three things:
    1. Their name: “Chris Metcalf”
    2. The organization they’re there representing, if they are affiliated with one: “Socrata”
    3. Three words that summarize their interests or goals. Example: “Build Cool Stuff” or “Solve World Hunger”

Pitches and team formation

Some more enterprising individuals may already have an idea what they want to build. This phase gives them a chance to pitch their idea and recruit to their cause. Ask people to line up if they want to pitch an idea, and give them thirty seconds to describe the following:

  • The problem they want to solve it
  • How they believe it can be solved
  • A proposed team name

Use a timer to keep everybody honest. After their pitch, have them go stand by a table or pick a corner.

After pitches, give everybody a few minutes to self-select what teams they want to join and make introductions. If a team doesn’t reach critical mass, the individual who pitched the idea can be given the chance to “go it alone” or join another team.

Keep things moving

Once people start working, keep them focused:

  • Have data owners or technical advisors roam and make sure people aren’t stuck or have questions.
  • Keep everybody well hydrated and caffeinated.
  • Don’t break for lunch. Announce that lunch is available, and either ask teams to go up one by one or pace themselves so that the line doesn’t get too long.
  • Give teams a deadline to submit their team name for judging that gives you at least a half an hour to create and post the order teams will be demo-ing in.
  • Have a hard stop when development should be completed, and make sure people know that it’s coming. Nothing provides motivation like a deadline.

Team demos and judging

Get your judges ready, call everybody back into the main room, and get ready for teams to show off their work.

  • Each team should receive between three and five minutes to describe their problem, how they intended to solve it, and demo what they came up with. Make sure teams know that it’s a hard limit, and don’t be afraid to cut off teams that go long.
  • It’s up to you whether or not to allow Q&A, which tends to consume a lot of time. For larger events, it’s often better to ask people to save questions for later, or only allow the judges to ask questions.
  • Keep things moving. Part of the competition is being able to concisely describe what you did.

After the demos, move all the judges into another room and have them discuss each team and rank them. It’s okay to be a little subjective – it’s hard to judge based on scores alone.

Once the judges are done, gather everybody together again and announce your winners! It can also be great to have social time afterwards, but keep in mind some people will prefer to just go home.

Post-Event Follow Up

After the event, follow up with an email to all attendees thanking them for their attendance. Make sure you provide information about any follow-up events that might occur, such as future hackathons, meet-ups, or awards events.