Dan D Kim

Let's share stories

Hackathon guide

2019-06-24 Dan D. Kimstudent life

I love love LOVED going to hackathons when I was a student.

It was hard to convince me NOT to go.

You get:

  • free food & transportation
  • meet tons of cool companies
  • network with tons of cool people
  • make new friends, depending on whether you team up with strangers or not
  • win some cool shit if you do well
  • get some company swag
  • STICKERS

I only started going to hackathons in my 3rd year. I really really wish I tried them sooner, like in my 1st year. I really tried to make the most out of my last 2 years, so I went to 9 hackathons.

Here’s the summary.

Hackathon Prizes I won Link
Hack The Valley 2017 Devpost
ConUHacks 2017 Devpost
Hackatown 2017 Founders Institute (entrepreneur mentorship hours) Devpost
Wearhacks KW 2017 Honorable Mention & Top 5 (no materialistic prize emoji-disappointed) Devpost
Hack The North 2017 Devpost
YHack 2017 Informa: Hot Tech Predictor 1st Place (choice of iPhone X or $1000 USD Amazon Gift Card) Devpost
UofTHacks 2018 Krate Winner ($200 Bitcoin Cash) Devpost
ConUHacks 2018 Devpost
Implement AI 2018 2nd Place (Google Daydream) Devpost

I have also been a judge representing Coveo at ConUHacks 2019.

So, as a participant & a judge, I have the following tips:

Team formation

I think this is arguably the most important part of the hackathon. If you want to win, you need to do this part right. Make sure you have the right team dynamic.

It’s not about having all the best programmers on your team, although that certainly helps. In my case, it was about having people with different specialties.

Look at the following table for an illustration.

Hackathon Prizes Team Structure
Hack The Valley 2017 4 programmers
ConUHacks 2017 4 programmers
Hackatown 2017 Founders Institute (mentorship hours) 3 programmers, 1 designer
Wearhacks KW 2017 Honorable Mention & Top 5 3 programmers, 1 designer, 1 business major
Hack The North 2017 3 programmers, 1 designer
YHack 2017 Informa: Hot Tech Predictor 1st Place (choice of iPhone X or $1100 USD Amazon Gift Card) 2 programmers, 1 physics major, 1 business major
UofTHacks 2018 Krate Winner ($200 Bitcoin Cash) 2 programmers, 1 designer
ConUHacks 2018 4 programmers
Implement AI 2018 2nd Place (Google Daydream) 1 designer & programmer, 3 programmers

Each time I won something, I had a team of at least 2 specialties.

Of course, it’s not that simple. But having people with different specialties will help your project appeal to the widest audience. Throughout the hackathon, you will have a more diverse set of ideas, different opinions, and a more well-rounded prototype.

Designers are super important

Having a designer makes a huge difference to your application versus not having one.

Take a look at the following comparison.

Hack The Valley 2017 Prototype Design

With 4 programmers, we got the following:

"Hack The Valley Prototype"

The design for this is just crap. The colors are gross. The UI is confusing. The borders are terrible and there is a serious need for some padding.

Hackatown 2017 Prototype Design

With 1 designer, 3 programmers, we got the following:

"Hackatown Prototype"

Way, way better.

Here’s another example.

Implement AI 2018 Prototype Design

With 1 designer & programmer, 3 programmers, we got the following:

"Implement AI Prototype"

Did we just copy the design from Google Lens? Shhh… That’s not the point here.

A designer can make a huge difference. If you are going to have a front-facing app, try to have a designer on your team.

I would say the exception is with chatbots. The UI is already set in stone, so aren’t as many things to design as opposed to a mobile app. This is kind of why I didn’t have a designer on the team for YHacks 2017.

Develop design skills yourself

If your speciality is in programming but want to expand on your design skills, check out Figma. Practice mocking up some good looking apps.

Scout your teammates early

If you didn’t register with a team, don’t worry. You can still find yourself a great team.

Usually the hackathon organisers will open a slack channel prior to the event. Look in the channels dedicated for team formations and try to scope out cool people as early as possible. Make sure you also post a message, introducing yourself and that you are looking for a team!

Be in contact with a lot of different people and see if you can formulate a team. Try to widen your options as much as possible.

Brainstorm prior to the event

Hopefully you have successfully formed a killer team with a couple days left to the hackathon. In this case, get a head start on brainstorming ideas. I typically share a Google Sheets where we can list all the ideas, our preferences, categories, related prizes, etc. This is great for narrowing down to one specific idea later on.

It doesn’t matter if your code is amazing

If your prototype looks like crap, the judges won’t be giving you a second look. Nobody is going to say

“Oh, their prototype wasn’t that great but hey, their code on the github repo is really clean and amazing, so I think they deserve some credit”.

Have a good design. Polish your prototype. Doesn’t matter if you are using some 2000-line file, just make it work and make it work WELL for the demo.

Get familiar with the judges

Judges are the people that will be giving you the prize(s). Get to know them as much as possible. Their company, their job, their hackathon challenge, what kind of prototypes would they like to see, etc. Try to get friendly with them in general.

In YHacks 2017, one of my team members seeked frequent feedback from the judges. She would assertively discuss new ideas, show them any cool progress, and ask for feedback. The judges knew pretty well about us even before the judging began. I think that this was a big factor in us winning the 1st place prize.

Attend workshops

This is a personal thing, but attending a workshop on something you are completely clueless about will open your mind. And having an open mind is a good thing.

I personally really enjoyed the designer workshops.

Practice the demos

I’m surprised that not everyone does this. I kind of understand, since most of the hackathons will have an open-area for all participants & judges, meaning you will be demoing to many people many times and will get sufficient practice. But hey, a judge might be your first audience. Try to nail it down.

Don’t spew bullshit

When I was a judge at ConUHacks, some teams tried really hard to make their project sound like it was something much more majestic than it actually was. Up to a certain point, I understand; you didn’t get much time to work on the prototype (24-48 hours) but you believe that the potential impact is huge. I get it. But don’t try to bullshit too much, because we can see right through it and may even like your prototype a little less.

Keep networking, even at the end

I find that networking with sponsors at the end can be hugely beneficial.

What a lot of people don’t know is that not every company will have the same sponsors throughout the entire hackathon. Some companies will have different people taking shifts throughout the event. There could be a team for the first day and the team for the last. If you network with some sponsors that are only there for the final day of the hackathon, there is a higher chance that you might be remembered, because you might be the only person to reach out to them.

Have fun, make friends, and make memories

I made some great friends and memories at hackathons. You get to meet a lot of students and professionals, and even work closely with a few of them over an entire weekend. Together, you and your team will own up to a project.

Also, if the hackathon is at a city you haven’t been to before, it’s a great opportunity for checking it out. When I was at YHacks, my team had fun checking out the city for a bit.

Even if you don’t win anything, you still have a side project to put up on your resume, all in the timeframe of a weekend! For a busy student, that’s a win!

Have fun and keep hacking!