3 June 2011

This is a second in series of posts on how to host a student hackathon, based on my experience with PennApps, as well as from participating in HackNY and PhillyGameJam and the hackathons at Facebook last summer. For other posts in the series, see here.

Hosting Hackathons: The Organizer's Checklist

The first PennApps hackathon took place on September 2010, and was put together during the summer before, working nights and weekends.  Below is a (non-exhaustive) checklist of what kind of things needed to get done in preparation to, during, and after the hackathon.  A list like this would have been useful to me last year as a new hackathon organizer, so (hopefully) it'll be of use to you.  

Note: You can put together a Hackathon in much less time than a Summer, so your mileage on the dates may vary.  

3-4 Months Before

  • Event Timing and Format: Figure out when you're going to have your hackathon and what the format is going to be like (12/24/48 hours, or some longer period like Columbia's DevFest).  
  • Key Partners: Figure out what key groups from your university you're going to work with to get things done. We got a ton of support from the Student Government, our Innovation Center and the Provost's Office. You'll need these as proof of legitimacy for your website.  
  • Funding Instrastructure: You also want to make sure you're all set up to take funding once it becomes available. We've found most companies are happy to either pay via Credit Cards or write us a check.  Our organization (the Dining Philosophers, Penn's CS club) is University-affiliated, meaning all of our funding needed to be made out to the University. If this isn't the case for you, feel free to give something like KickStarter a try.  Either way, reach out to your relevant University partners and make sure you've got a way to take money once it's available.
  • Design Standards: You're going to make t-shirts and print posters. To keep a reasonably consistent design standard, see if you can get your designer friend to contribute a logo that will work across various background colors and ideally a color scheme.  Good design is a solid way to show legitimacy when asking for funding
  • Website: Put together a simple static website explaining what the hackathon is, who is organizing it, what you're hoping to do and what you need (hint:probably money).  Your audience at this point are the sponsors - when you email them asking for funding.  

    For the first PennApps, we ended up writing a bunch of plain HTML and using the Posterous API to pull in blog content to the main page.  The second time around, we used WordPress - this took away some of our design flexibility but made it far less painful to drop in new content.  We're sticking with WordPress.
  • Location (ideally): if you're lucky, one of the Key Partners (above) will be able to help you find a location for the hackathon that works for you. More likely, you'll need to spend some amount of time reaching out to the University to try and see where you might be able to host the event.  We wrote up a Location Requirements document to help streamline our conversations with the administration. 

2-3 Months Before

  • Key Sponsors: Once you have a basic website and an idea for the event you're going to have, you're able to start reaching out to sponsors to get funding for your event. We started with high-profile sponsors with whom we had established relationships first, largely through internships.  We reached out to Microsoft, Google and Facebook first; getting confirmations from those sponsors and being able to put them on our website made the rest of the sponsors easier to convince.
  • Blog Content: By no means is it necessary to have any blog content for your site, but I figured that between interviews with past participants and the rolling out of updates, a simple blog would be an easy way to make the site 'alive' and develop some early buzz amongst students.
  • Location: Try to have your location down by this point.

1-2 Months Before

  • Sponsors: The Key Sponsors are going to make your life easier in finding the rest of your funding. Make sure you've approached the funding sources suggested in an earlier post.
  • Judges: If you want awesome, important people to come serve as Judges for the demo session, you're going to need to ask them reasonably far in advance (at least a month would be nice).   
  • Tech Talks: One of the fun things to do at Hackathons is try new APIs and frameworks. Start to figure out what companies or individuals in the area you want to reach out to to introduce the APIs before the hackathon. Developer Evangelists tend to be pretty high in demand (on the Android team in particular), so make sure to start this at least a month in advance and try to work out the talk schedule in a way that works for everybody.  
  • Schedule: Start to put together a preliminary schedule for tech talks, the hacking itself, meals, and awards/prizes. This schedule will be bound to change, but having a first draft helps get judges/sponsors/tech-talkers give feedback and start to form their schedules around the event.
  • Website: Start addings sections on the website for the sponsors, judges, talks and the planned schedule (basically, each of the points above). If you're going with a blog, keep posting.

3 Weeks Before

  • T-Shirt Design: T-shirts matter.  Come up with an awesome design and make sure to get yours made ahead of time, rather than rushed and therefore more expensive. Fewer colors is cheaper (add about $1/color/shirt).  We used a local store but I've heard reasonable things about customink.
  • Outreach: Figure out who your attendees are going to be and how to find them.  For Penn, emailing the relevant CS department list-servs and clubs on campus got the job done.  Externally, we reached out through friends to invite hackers at other schools.  Get people to sign up and commit to coming. We used a Google Form the first time around and EventBrite in January.  Neither quite satisfied our needs (which is motivation for another post), but EventBrite isn't bad.
  • Location: In case you don't, you should REALLY have your location figured out by now.
  • Food: Compile a list of potential caterers for the event, doing your best to keep it varied, healthy, and cheap (we aimed at <$5/person/meal and only doing Pizza once).  Go down the line and start contacting caterers to see if any of them are interested in providing food for free or at a deep discount in exchange for a sponsorship/recognition/etc (hey, it can't hurt to ask).  Get prices and lead times (IE, if 20 more people than expected show up, how much in advance do I need to tell you by) and start working on a short-list. 
  • Tech Talks: At this point, most of your tech talks should be solidified.
  • Local Sponsors: There's a category of local sponsors that should be able to give you stuff (Red Bull, stickers, schwag) that are worth reaching out to, but can be dealt with on a shorter time schedule. Note: some barter sponsors from larger companies may need several weeks to get things things approved within their companies - make sure to reach out to them in advance.

Hosting Hackathons: The Organizer's Checklist

5 Days Before

  • Tech Talks: should be completely booked and know exactly when they are going. The finalized tech talk schedule should be up online and emailed out to participants
  • Participants Counts & Finalizing Orders: At this point, you should know approximately how many people are going to make it (so you can order T-shirts and food appropriately).  I was off by more than 50% both times I tried to estimate the participant count for PennApps.  Here's what I recommend: email everybody that has signed up about 5 days in advance and ask them to respond with 24 hours to confirm attendance.  The number of people who have responded are a reasonably solid guess (something like 10-20% of even those people will have something come up, but yet others will end up inviting their friends, or somebody will hear about the event, etc).

The Day Before/During

  • Posters, Posters, Posters: Put signs everywhere. If you're within a couple of blocks of the event, you should be able to know how to get to it.
  • Event Logistics: Make sure the website is ready for the event.  Figure out what your channels of communication are going to be throughout (Twitter? IRC back-channel?) and have links on the site. Figure out who the contact people are going to be for the event and create a Google Voice number that forwards to all of them.  Put the number on the website.
  • Social Media: Somebody ought to be manning your Twitter account/taking photos and potentially video interviews throughout. Participants will have worked their ass off throughout the event and deserve to have evidence to show for it.
  • Back-up Plan: Things are going to go wrong day-of (out of power cords/need more food/X just broke) inevitably, spending money is going to be the fastest way to solve a lot of your problems. Make sure you know where that money is coming from and who is getting reimbursed for it, and how. Save receipts.

Post-Mortem

  • Demonstrate Results: Either host links to teams' work or (ideally) share the videos of their presentations.  Teams (and the hackathon itself) need to be able to point to tangible results. 
  • Promises to Keep: Whatever value proposition you made to sponsors, make sure you've kept up your side of the bargain. We send out emails to participants after the fact thanking and listing sponsors as well as making it easy for sponsors to recruit from participants.
  • Get Feedback and Iterate: Both from the sponsor, judge, and participant side of things, ask for feedback and take note of what kind of things can be different next time around.
  • Mark your success: The Hackathon organizers probably haven't slept in a while. Now would be a good time to buy them a drink.

Obligatory: we've just opened up sign-ups for PennApps 2011. If you're anywhere near the Philly Area this September, sign up for updates and we'll keep you in the loop.

Tags: #hackathons

Subscribe to Engineering Growth

Stay up to date on new essays and updates on Growth Engineering.