As a third-year computer engineering student at the University of Toronto, I have experienced my fair share of hackathons. And before your mind wanders to thinking that I spend my time as a cyber-criminal, breaking into your computer, I should probably define a hackathon. For those of you who don’t know programmer jargon, a hackathon is a programming competition that usually lasts 24 hours in which teams race to create a functioning prototype to pitch to judges—all the while working on no sleep but still energized with—thank God—pizza and pop.
For participants, hackathons are nothing short of an adventure. Challenges can vary by topic, from fantasy-themed mobile gaming to using big data to gain a competitive advantage. The events are a chance for software engineers, programmers and designers to showcase their ability to come up with innovative ideas and present them to potential venture capitalists. But more than the challenge, the participants themselves may be the most interesting. It’s often amusing to see the evolution of a team during a hackathon. Many members typically start off as normal-looking geeks excited by ideas, then eventually become sleepless energy drink-consuming zombie coders, and finally evolve into dapper guys and gals, ready to reveal their prototype to the judges. (I’m sure others have had the same thoughts about me and my team members.)
And oh, wait ‘til you’ve experienced the joy of having a working prototype in time for the pitch! Yet, the blooming ideas originating from hackathons have resulted in a growing number of tech startups (check out the TV series Silicon Valley for Hollywood’s perspective). Similar to “big data,” what was formerly a buzzword as recently as 2010; hackathons have exploded in popular culture. And it seemed it would only be a matter of time before the two would cross paths.
The Canadian Open Data Experience1
(CODE), hosted by XMG Studio Inc. Innovators, is a great example of how we crazy programmers have churned out inventive uses for big data, such as the data available from the Canadian Open Data Portal (http://www.data.gc.ca). The final submissions varied from Team Quantify’s A Healthier Commute
, which provides users with personalized feedback about the cost of their daily commutes, to the winner of CODE 2014, Electric Sheep’s newRoots
, which matches new Canadians to cities that are mostly likely to offer them the greatest opportunity to successfully apply their skills.2
Results like these show how up-and-coming programmers can improve our quality of life one hackathon at a time.
Although I didn’t participate in CODE 2014—I had no clue about open data and big data at that time—I did participate in RBC’s Next Great Innovator3 (NGI) Prototyping Challenge on the weekend of June 7th in downtown Toronto. My team, SegmentationFault (I preferred the name Exception but was voted down 3 to1 :( ), consisted of four UofT computer engineering students, who were also my colleagues and friends.
Here is a breakdown of how it went.
The Challenge: Build an innovative prototype for a mobile, tablet, web or desktop application that will enable RBC's businesses to use analytics to create a competitive advantage.
We got the challenge about a week ahead and started to plan ideas and collect resources that we could use during the prototyping event. We had several rough ideas, but in the end, most of them seemed to coalesce around the idea of an investment advisor. And so we split up tasks to prepare for Saturday.
Our Solution: An investment advisor web application called AskArbie.
Saturday came, and we met at RBC’s Front Street offices at 9 AM. We signed in and proceeded to the auditorium where we were assigned a table where we would “set up camp” for the next 24 hours. After a few speeches from their executive staff, the competition was underway by 10 AM. Each of us began working at our individual tasks. My teammate Sandro focused on the backend (datasets and analysis), while I concentrated on the frontend—the user interface. Tom worked on combining the two. And James worked on getting a local server running and started planning for our pitch. We worked like there was no tomorrow—it was only when food came at about 7 PM that we realized how much time had passed and how much we really needed a break. I mean, how can you ignore the mouthwatering aroma of spicy pepperoni on glorious melted cheese and the taste of carbonated sugary sweetness? Coding can wait, but pizza and pop? Not so much.
Meanwhile, our project planning seemed to be working out as expected, and about midnight we thought we were close to being finished. Still, it was silly of us to think that some of our few remaining problems would only take a couple of minutes to fix; several took a couple of hours. When we finally got all of them solved, we gave a small cheer (really more like a war cry). Relieved as we were, however, the scene around us resembled a zombie apocalypse. It was almost 3 AM. Only two groups had finished before us, leaving about ten other teams of programmers struggling to keep their eyes open as they continued mindlessly coding. As for my teammates, because all of us fortunately lived near the downtown core, we packed our bags and hailed a cab to head home for a few hours of rest before the pitch.
Four hours of sleep? Better than none. Those were my thoughts as I arrived at the auditorium the next morning. As my team prepared for our pitch, I began to see the transformation of my fellow zombie coders into their final roles: business-like young men and women, courtesy of caffeine and a nice collared shirt. What seemed to be a lot of time—24 hours in the beginning—had narrowed to seconds before the presentations commenced. With some teams still scrambling to finish up the details on their applications, the clock counted down to zero and the coding portion was over.
Now was the time for the pitch. Teams were divided into groups for three sets of judges, and we were selected first for our set. We pitched our hearts out with a small, speed-dating-like demo—all in 120 seconds! After a few questions, we sat outside as the judges continued reviewing the other teams and then began their deliberations. In the end, we did not advance to the top five teams (which went on to the final round of judging). Our team was full of mixed feelings. We were proud and excited about our product, disappointed the judges didn’t see the same value and just plain exhausted. As we sat there contemplating our experience, one of the judges appeared and told us that he had been rooting for our application, but we didn’t advance because we lacked strong data analytics, which made sense since we were all computer engineers, not statisticians or analysts.
Even though we did not get into the final round, the whole experience was fantastic. The weird thing is that what seems to be impossible—building an application in 24 hours—is rendered very possible at hackathons. And so we prepare for the next one and if you’re sitting in an office filled with programmers, statisticians and analysts, maybe you should too. Forget winter. Hack the North is coming.4
Ernest Yim is a web development intern for EA's marketing team.
Some related sources:
- Image: http://www.thedrum.com/uploads/drum_column_article/119859/main_images/hackathon_0.jpg
- Image: https://www.canadianopendataexperience.com/system/uploads/ckeditor/pictures/85/content_CODE_XMGWebsite_NewsBanner_2.png
- Image: https://ebmedia.eventbrite.com/s3-build/images/5642131/51656709382/1/logo.png