Since my first year of university, I’ve been consistently going to a few hackathons every year. I’m now in my fourth year of university, and I’ve learned a good amount since my first hackathon. In this post I’ll reflect on what I learned at each one I did, and hopefully you can get something out of reading this too.

McGill CodeJam, 2016

This was my first hackathon ever. I signed up with some friends and spent essentially the entire time learning how to do basic programming in Java. We didn’t really build anything, but I got a head start on my first programming class because of this hackathon!

McGill CodeJam, 2017

The theme for this iteration of CodeJam was DataDive, which was focused on big data. I remember not being a huge fan of the theme, and I also played around a bit with Python and Pandas (but that’s about all I remember).

Hack IX, 2018

This was my first internal company hackathon, and this was also my first time being on one of the finalist teams for a hackathon (we actually ended up getting 1st place overall, which was pretty sweet). Being the only intern on the team I was definitely way out of my element, and the four other engineers on the team definitely carried us to our 1st place finish. I didn’t know it at the time, but we actually built a pretty standard hackathon project (we made a full-stack web app using React and Python). The core concept of our project focused on using Natural Language Processing to convert audio files to text transcriptions. That was my first time doing anything related to AI/ML, so that was a cool experience for me as well.

I had only finished my second year of university when I was doing this internship, so I still didn’t have most of the web development skills necessary to understand how an application like this worked. Looking back on this project, however, I can say that we won because:

  • We had a simple but pretty frontend
  • Our idea was relatively original and also had real-world applications
  • Our presentation was engaging and had a twist at the end
  • We used AI (this still impresses people at hackathons even though it’s becoming increasingly common)

Overall, this hackathon was a good experience because it gave me a sense of what level a project had to be at in order to win something.

McGill CodeJam, 2018

Coming off of my win at Hack IX, I felt like I could transfer some of that success to CodeJam. However, it quickly became apparent that I was lacking many of the skills needed to build a full-stack web app, and so we didn’t end up completing our project. Despite this, the effort and idea were both there, and the project had a lot of potential. My team actually ended up revisiting the idea at CodeJam the following year.

ConUHacks, 2019

This was my first time doing ConUHacks, but we mostly just went to have fun. We didn’t really build anything and instead enjoyed the other aspects of the hackathon, such as the food and activities.

McHacks, 2019

This was my first time doing McHacks, and it was also (by far) the biggest hackathon I’ve attended. This was the first time (except for at Hack IX) that my team demoed our project; even though our project was fairly simple and we didn’t win anything, it was nice to go through a hackathon project from start to finish.

McGill CodeJam, 2019

This was my fourth time doing CodeJam, and I finally felt like I knew enough to build an entire (functioning) hackathon project. Sure enough, we revisited our idea from a year prior and we were able to actually implement it this time around, starting from scratch with a different tech stack. Our project ended up getting 2nd place overall, which was awesome! We got to present our project to all of the judges and hackathon attendees, along with the other two finalist projects. I would say this project had a lot of similar elements to my team’s project at Hack IX, namely:

  • We had a simple frontend that didn’t look incredible but was functional
  • Our idea was again relatively original and also had real-world applications
  • Our presentation was actually fairly straightforward and could have maybe been more interesting; to be fair, we weren’t expecting to be one of the finalists
  • We used AI to detect objects in images (i.e. computer vision)

This hackathon experience was probably my favourite, since I was actually able to contribute to the project this time around. Doing it with friends and knowing a lot of people at the hackathon also made it a more fun experience overall.

ConUHacks, 2020

Compared to my first time doing ConUHacks, this time around was a lot more intense. Our goal coming in was to try and win something; however, even though we worked on our project for quite a while we didn’t end up achieving our goal. Why?

  • Our idea wasn’t bad and was centered around an important topic (mental health), but our app simply wasn’t impressive from a technical perspective
  • Our frontend was somewhat sloppy and definitely looked like it was incomplete; this is mainly because we were trying to implement too many features than was realistically possible for a hackathon project
  • One of our demos didn’t go super well
  • We didn’t use any AI :(

Overall, it was pretty disappointing to put in a lot of effort and get minimal reward out of it. I also didn’t really learn anything new, but that was more my fault (I could’ve tried to learn something new if I wanted, but I was more focused on trying to finish our project). Even though the outcome wasn’t what we wanted, I still consider this to be a valuable experience that I can learn from.

Conclusion

I’m really glad that I’ve done multiple different hackathons over the years, since I’ve met a lot of people and learned a ton of new things. If you’re thinking about doing a hackathon, I can’t recommend it enough. It’s a pretty unique experience that’s worth sacrificing one weekend for (and if nothing else, at least you get fed for the entire weekend).

If you want to see the code for some of the projects I talked about, feel free to check out my GitHub. As always, thanks for reading!