19 | How to Improve Your Hackathon
11 November, 2019 - 16 min read
This unofficial guide is intended to serve as a supplemental resource that you can use to improve your hackathon once you have the basics down and are looking for ways to improve. This is by no means an exhaustive description of the perfect hackathon, rather just a collection of tips and techniques I've observed that someone hopefully finds useful👍.
⚠️ In light of the ongoing pandemic, please also refer to the corollary guide: How to Improve Your Digital Event
Table of Contents
- Opening/Closing Ceremony
- User Experience
- Prize Categories
- Social Media
- API Quick Links/Troubleshooting
- MLH Specific Resources
- General APIs
- General Resources for Popular Subjects
- Be Proactive - Anything that can be confirmed should be confirmed (This Murphy's Law)
Always be considering what could go wrong with the next big task of the day, whether that's a meal, a workshop, judging, etc. Have a contingency plan for what you and your team can do if something goes wrong. Try to have such a plan that when something does comes up, it’s not a crisis, it’s actually still part of the plan, just a sub-optimal plan B, C,...
- Food: Call food caterers a day in advance, and then again 2+ hours before the intended delivery time to confirm that everything is still going to be on time and meet specified quantity
Volunteers: Reserve one member of your organizer team to be the designated point of contact for volunteers: they should know (or have on hand at all times): All the volunteers in the building at any given time, what their responsibilities are, etc.
Prepare physical packets (they can be generalized, don’t need to be volunteer-specific) for volunteers that contain:
- Volunteer responsibilities,
- The rules of the event,
- Map of the venue,
- Time table so they know when/where they’re supposed to be and who is going to replace them,
- Contact information for all relevant parties: Lead Organizer, Designated PoC for volunteer organizer, Adult Moderator, custodian/venue staff (if there’s a chance that people get locked out of certain parts of the venue)
- Etc. anything that would likely come up that they would otherwise have to find an organizer to figure out.
Participants: Have a concise and visually appealing FAQ/info packet (git repo, Google doc, sub-page on website), that is as accessible as possible, because hackers will not use it if it’s not insanely easy to get to and navigate) that contains:
- Map with locations for Workshops, meals, mini-events, etc.
- Prize categories and details for eligibility,
- How to submit to Devpost,
- How demoing works/what judging is going to be like,
- Helpful resources for common APIs.
Additionally, knowing that likely the majority of your participants will be first time hackers, consider sending out a "What to Expect" or "How to Get the Most Out of Your Hackathon Experience" type of email including some starter resources (see the General Resources portion of this guide) so that your hackers can hit the ground running when they arrive!
- A/V check: Check the day before and again a few hours before presentation resources are needed,
- Volunteers/judges: Check one week and one day before hand,
- Caterers: (initial heads up about large order), one day and again a few hours before the expected meal time,
- Scheduling: Give yourself at least an hour of margin-for-error before/after (as necessary) big tasks on the schedule. Especially between meals and workshop times, give yourself more time for judging than you think you need,
Log everything: meeting times/durations, attendance, etc. Maintain a spreadsheet of all the hours contributed by each team member.
- This helps establish accountability within your team; a bloated team structure hinders overall team effectiveness and culture,
- Promotes taking pride in your work,
- Quantifies your efforts which is incredibly useful when soliciting school admin/superior powers for support: “Last year, our team collectively volunteered x thousand hours towards the success of our event across A, B, C, D categories.”
The primary goal of your fundraising efforts should be to establish mutually beneficial relationships with the companies that work with your event - sponsorship outreach should be conducted in such a way that you demonstrate the value of your event, not as a means of gaining charitable contributions.
It's worth noting that these efforts should begin at least one fiscal quarter prior to your event. Most companies have a more flexible budget at the start of a quarter rather than the end. Additionally, the winter holiday season (spanning from Thanksgiving through to the New Year) is effectively a dead zone as far as cold-call/email responses go.
Cold Calls / Emails - this tends to be the primary avenue for gaining sponsorship, especially for younger events. This process (and the whole sponsorship effort) can be broken down into the following steps:
- Initial Contact following a generic template that has been tailored to specific companies sent from personal emails to avoid spam filters - see example below
- Two-ish follow-up emails at regular professional intervals if you don't hear back at first
- The Pitch - If a company expresses interest in your event, your goal is to schedule a phone call to further discuss the benefits of a partnership, and send them the prospectus so that they have an idea of what price points are
- STRESS that these numbers are just loose guidelines and that your team is flexible and wants a partnership with them
- The Prospectus shouldn't be the end-all be all, it's merely the jumping-off point for negotiations to establish a ~long-lasting partnership~
- Confirmation - includes the invoice for the agreed upon amount if step 2 went well
- Pre-event "Concierge" - a week or two prior to the event, the point of contact with said sponsor should send a warm email re-iterating how they can maximize their presence and experience at the event, letting them know that they will be their personal contact if they have any questions during the event, etc.
- This person should also welcome them at the venue and get them settled at the table/generally make them feel at home.
- Using Your Network - make use of LinkedIn, school career fairs, friends, school partners, anyone who might be interested
The Call - If you are able to schedule a call with a potential sponsor, the following script has proven to be successful:
- "Hi, thanks for being available to talk"
- Info about event
- Info about yourself and role in the event
ASK about their goals, recruiting objectives, desired skill sets, products/services they're looking to introduce; what would they like to get out of a partnership with your event?
- Based off their response, pitch them the prospectus tier that most similarly aligns with goals
- Be flexible within reason, and don't be afraid to turn down unreasonable negotiations and companies as a whole - remember that your #1 priority is the participants, don't forfeit the integrity of your event's purpose for a sponsor
- The Prospectus - Generally speaking, a simple prospectus formula is as follows (with more creative, on-brand names):
|Lower||one-off items: stickers, a meal "presented by x", swag|
|Low||NUM_EXPECTED_SPONSORS / 2|
|High||NUM_EXPECTED_SPONSORS x 2.5|
Template Sponsorship Email
[[If a sponsor from a previous year]]
$EVENT_NAMEteam would like to thank
$COMPANY_NAMEfor their generous contributions towards making
$EVENT_NAMEsuccessful in the past. We are back this year with a great team and new ideas, and we would love to have you and your company
$COMPANY_NAME, be a part of it!
Are you interested in growing your brand recognition and finding talented students who will enhance your company? My name is
$NAMEand I’m a student at
$SCHOOLhelping to organize
$Xth annual hackathon. For
$LOWER_BOUNDinnovators from colleges across the
$REGIONwill develop hardware and software solutions to problems they identify within their community. Hackathons are a great way to increase company presence on our campus and provide the opportunity to talk to motivated students majoring in Computer Science, Computer Engineering,
$FIELDS_THAT_INTEREST_COMPANY, and more!
<Insert tagline about why company would be a great fit for your event>
We look forward to working with you to meet your recruiting objects <and introducing X service Company is releasing if relevant OR integrating your products into our event -- This last line in general should be personalized>.
Feel free to checkout our website:
$WEBSITE, and please let us know if you have any questions.
- Open with your mission/goals for the participants over the weekend, not logistics – this is your chance to get the participants fired up!
- Close with logistics (they're still important)
- Make sure all other speakers know the line-up and have been familiarized with you A/V system to avoid hiccups
- Big and easily identifiable
- Employ event branding so your signage stands out from existing venue signage
- Post an example submission that serves as an example for what a final project should look like
- Have participants submit a placeholder submission the evening before the projects are actually due so you can gauge how many teams you’ll be dealing with, and in what categories you need assign judges
- Use Devpost's “assign table number” feature rather than your own system for increased compatibility with judging tools such as...
- Expo is a great tool that unofficially accompanies Devpost (e.g. filter by prize category; print the resulting page that includes assigned table numbers; distribute to judges; profit!)
- Utilize the Devpost help resources, their dev team is super responsive and helpful
In general, the best hackathon experience is derived from nailing the basics more so than the bells and whistles we often race towards upon securing funding
- “Generally speaking, there are 5 things you need to organize a hackathon – a venue, food, power, wifi, and people. Getting those things right is core to having a successful event.”
Prepare as many secondary events/activities as you can manage based on personnel and resources
- Don’t detract from the hacking purpose of the event, but provide fun activities throughout the weekend that offer a break from coding
- As hackers, you and your team knows what you wish you knew when you first attended a hackathon
- Put together digestible workshops that help new hackers hit the ground running with a foundation in a given programming language as well as resources they can leverage going forward
- Practice during regular meetings over the months between events
- Sponsors are great for providing higher level workshops
- MLH localhost!!
- Budget allowing, a great way to increase the accessibility of your event and overall attendance is to offer travel reimbursements to folks traveling any distance that exceeds a threshold that makes sense for your event
- Consider decreasing the budget for prizes to create/bolster this fund as it improves everyone's experience, rather than just the winners
- Smash/ping pong tournaments are always hits
- Trivia and yoga on the rise as well
- Bingo (sheets at every table based on hackathon achievables e.g. “submit to devpost,” “attend a workshop,” "take out the trash" etc.)
- Bob Ross follow along with MS Paint
- "big" prize for people who checked in on time
- small (hourly?) prizes - "vintage" stickers from past iterations of your event!
- CTF puzzle hidden on website/accompanying resources/webpages
- Slack/Discord: Make sure your event staff are identified as such in their display name, including their main role so volunteers/sponsors/participants know who to message for what
Ensure clear channel purposes, yet not too many otherwise people get overwhelmed and stop checking at all:
- #Announcements (locked),
- #General (all),
- #Mentors (all) – Check out the Slack Apps such as Halp to streamline the ticketing process,
- #Memes (all) - very important,
Recommended judging systems:
Batches + spreadsheet
- Requires one spreadsheet wizard who divides the teams into batches,
- Batches are distributed to judges who are instructed to pick their top choice (or top 3 depending on volume of submissions) and report back,
- spreadsheet wizard records that judge's top 3 and assigns them another batch,
- Repeat until each team has been seen by multiple judges/groups of judges,
- Teams with the most top picks win!
- Even inside the tech community, some people prefer pen and paper to jot notes down about projects,
- Print out a paper rubric with room for notes / scoring in each criterion you deem important,
- This method does require an allotted time period for deliberation for judges to recapitulate their notes the the bigger group to determine winners - but it's great for smaller events with less-experienced judges
- Prepare a Google form with your criteria,
- Share this form with your judges,
- This helps constrain the judges' perspectives to the criteria you deem important,
- Removes the need for extensive deliberation as you're left with quantitative results
- Checkout this thorough writeup for more detailed descriptions of how to improve the dreaded judging process
- Snag winning projects off Devpost from other hackathons if you don’t have time to prepare projects yourself, just be sure not to misrepresent them as your own 😛
- Present an excellent demo, and an average demo to your judges – this gives them some benchmarks for the quality of demos they should expect
- Bonus: If using an automated scoring system (e.g. Google Forms), normalize the score distribution from all the judges based off the scores they give to these two example projects that way teams don’t get penalized for harsher judges, or disproportionately advantaged by easily-impressed judges
- Keep your judging system/criteria simple: judges will only have 3-5 minutes to evaluate teams; you don’t want to bog them down with lots details to keep track of, or a non-intuitive method of recording their scores
Along with your event-specific demo categories, it’s a good idea to include catch-all categories to make your demo process as accessible as possible such as:
- Best First Hack – Majority of teams are composed first-time hackers,
- People’s Choice – Requires a poll system or demo phase where people are allowed to go view other people’s hacks,
- Most Unique Hack
- Look at other events’ Devpost’s for ideas for categories.
Ensure that hackers are ok with having their picture taken at the event via release form
- Implement a system to distinguish people who would prefer not to be included in images (can be denoted by an alternate lanyard color, etc.)
Designate a team member to manage social media: Live Tweet the event!
- Event setup,
- Awards Ceremony
- Maximize user engagement by including media in all posts - people are more likely to click on posts with gifs/pictures/videos than they are a bland, text-only Tweet/link to external site - hence the shameless images of me at a hackathon in this article: you're engaged, can you feel it?
- Remain active year-round to retain followers
- Crowdsource publicity by creating a Snapchat geofilter for the weekend
Reflecting on the successes and failures of your event throughout the course of planning and executing it is one of the most productive means of improving future iterations:
- Ask yourself/your team,
- Ask your participants,
- Ask your sponsors,
- Ask your volunteers...
"What went well? What can we do to improve?"
Another helpful reflection structure follows eponymous "Start / Stop / Continue"
- Compile a list of things that fall into each category and a justification as to why so that future organizers can understand the rationale behind including or removing certain features from your event that aren't necessarily self evident
- MLH Organizer Guide - The de facto textbook.
- HackCon Talks - A playlist of super helpful talks given by hackathon organizers across the world detailing successful tactics from inclusion, to sponsorship, to branding, and more!
- Issue: The most common issue hackers encounter with the site is caused by higher-than-expected frequency of domain purchases from a dense region/wi-fi Network. Domain.com goes into lockdown as it looks like Credit Card fraud, and just prevents any new domain acquisitions until a ‘cooldown’ period has transpired.
- Fix: Unfortunately, the only consistent fix (other than calling Domain.com support) is to wait a few hours then try again. In order to prevent this measure, encourage hackers to register their domains earlier in the event (most still won’t). Most teams register a domain after they’ve completed their main project to serve as a landing page, which usually happens in 3-5 hour window before project submission and creates a bottleneck. Registering your domain first thing helps mitigate this issue.
- Documentation page is very beginner friendly.
- User forum/Slack is super active and helpful as well
- This is a pretty exhaustive list of free APIs for all types of data
- Daniel Shiffman / Coding Train - p5.js tutorials on hundreds of topics
- fireship.io - Write ups and videos for various web application tutorials
- Automate the Boring Stuff with Python - An open source book on practical programming for total beginners
- Sentdex - Extensive Python ML YouTube playlist with practical implementations of popular libraries as well as explanatory from-scratch reproductions
- “Machine Learning for Beginners: An Introduction to Neural Network”
- Project Euler - Hundreds of practice problems that'll make you cinch your thinking cap's chin-strap