How much code do you REALLY need to know to win a hackathon?

Melissa Schmitz
8 min readOct 2, 2018

Let me tell you about my first hackathon experience.

The Hack Upstate sign. (Photo by Daniel Viau)

Hack Upstate X

My first hackathon experience was in October 2017 during Hack Upstate X at The Tech Garden in Syracuse, NY. At that point in my life, I was a senior in college majoring in physics and chemistry actively pursuing research, working in IT, and taking my first-ever algorithms course in Python. Before then, I knew how to edit a website’s HTML/CSS mostly through context. I spent little bits of time on sites like Codecademy or free courses from The Flatiron School in Javascript. And the “coding” I learned in my physics classes was Maple pseudocode at best while my research coding experience was in MCNP6 (structured like an old punchcard, which doesn’t help with modern languages). So I knew some syntax but was only starting to really learn how to program as opposed to tinkering with toy problems online.

I was far from an expert. And I certainly wasn’t ready to write my own complex code for, say, a computer game.

Left: MMA teammate Michael proposing a peer-to-peer (P2P) network project at the opening ceremony. Right: Me, excited to get started on opening day. (Photos by Daniel Viau)

But there I was nonetheless, sitting in a corner at Hack Upstate X after the opening ceremony with my IT friend Kristine, a computer science major. Neither of us had been to a hackathon before and weren’t sure that we fit into any of the project proposals just announced. She was reasonably proficient in various languages as a computer science major while I was learning how to write simple Python programs testing for proper input. Since our skillsets didn’t seem to match up in a meaningful way, we expected to work on programming homework or to expand our previous projects from the sidelines. At least we were there, right? Then came Kai and Andy.

“Are you guys looking for a team? We’re still deciding on a project, but you’re welcome to join!”

I was startled by the proposal, not just as an introvert but as someone with comparatively little proficiency in programming. How much could I contribute? We agreed to join and were welcomed with open arms.

Kristine (left) and Andy (right) enjoying the team hacking experience. (Photo by Daniel Viau)

Choosing a Project

Our team had six members, three of which were professional developers, and the rest of us college students. Two of the professionals, Kai and Andy, were already long-time friends having competed together at Hack Upstate years prior. Michael, a freshman Syracuse University student, had just proposed a peer-to-peer (P2P) network project at the opening ceremony.

It was time to pick a project.

The P2P project sounded dope, of course. I only ever heard of the idea from watching Silicon Valley on HBO. But it proved to be a significant technical challenge, especially if plans were to write it in a language like C++, which not all of us knew well. Kai stepped up.

“What if we try using the Phaser.JS framework? We could make a multiplayer game, like the classic Atari Asteroids.”

“And for the demo, people could log in on their phones!” Michael chimed in.

“Hey Kai, we could use our old Reoke domain to host it!” Andy added.

“I’d like to look into steering with the phone’s accelerometer,” Tim was familiar with the idea and dove right into the documentation.

The ideas kept flowing.

“I can help with the interface design!” I finally said, happy to find my piece in this puzzle.

And that was our project. We called ourselves MMA, short for “massively multiplayer asteroids.”

The start screen for the original Atari Asteroids game.

The Team Experience

My newbie expectation was that everyone else already knew what they were doing and would get to work on their own thing right away. After all, we only had 24 hours to get this done, right?

As everyone was getting settled into their tasks and workstations, Andy walked over to Kristine and I.

“Do you guys know how to use Git? Is it installed on your machines?”

I had played around with Github once before but never actually worked on a project with it.

Tim testing the accelerometer settings for the mobile game controller. (Photo by Daniel Viau)

Andy got to work helping me install Git, learn how to make pull/push requests, and set up the repository on my machine. There was so much to learn in so little time! But I trusted the process and got to work myself.

That night was more fun than I expected. While there were undoubtedly long bouts of focused hard work, we also took pauses to hang out and demo our game. Tim’s first design for the accelerometer-powered phone steering was rotational, which proved more complicated than expected, our sprites circling erratically on the game screen (apparently it is also affected by the rotation of the Earth!). So we decided to switch to a left-right tilt.

Meanwhile, Kristine and I were tinkering with the HTML/CSS for the website control and the mobile control buttons. As mentioned previously, I had never learned HTML or CSS formally before this hackathon. So I dug deeper into the online documentation, slowly getting the hang out it.

Piece by piece, our game came together. And with plenty of time to spare!

The Awards Ceremony

It was day two and time to stop hacking so we could prepare for presentations. Our game was complete! While Kristine was adding our project to the Hack Assist website, Kai and Andy could be seen playing the game with a few others, having decided on the details of the presentation and gone out for breakfast in the hours before.

Once presentations finally begun, I was amazed at the work of other hackers. After all, I was still pretty new to this, so seeing these projects come to life in one day seemed a bit magical.

Me (left) and Kristine (right). (Photo by Daniel Viau)

Some other memorable projects included Earthwise, an app that uses AI image-recognition to determine if an object is recyclable; Go-ceries, a weekly grocery list planner implemented in the Go programming language; and Strumdog, a site that takes existing chord tabs and converts them to text rendered fingerings to aid beginners in learning their favorite songs.

It was finally our turn, so the MMA team stepped up to the stage. Our three professional developers–Kai, Andy, and Tim–explained the technical details of the JS.Phaser framework and mobile controller design followed by an invitation for the audience to join.

“If you would all take out your phones and go to Reoke.com on your browser, we can all play the game live!”

People began rummaging in their pockets for their phones as Andy explained how to log in. Kai projected the gameplay onto the projector as dozens of spaceship sprites began to appear on-screen in intergalactic combat while the judges fielded their questions.

“Did we mention this is our first real stress test?”

The game was working near-perfectly despite having over 30 participants logged into the game. And, as we discovered, it also supported emojis.

Clip showing MMA live gameplay during the judge deliberation, courtesy of @quantumheels on Instagram.

While the judges were deliberating on the winners, audience members requested to play our MMA game, playing on while waiting for the awards ceremony to begin.

Andy whispered to Kai in the seat next to him, “This has got to be a good sign.”

The judges read through the list of other prizes one by one. And with each of the new winners, my heart sank a bit. As they were announcing the first runner-up, Earthwise, I was convinced that the Grand Prize couldn’t possibly be us… There were so many other great projects. Maybe a game wasn’t creative enough?

It was time.

“And the grand prize goes to… MMA with their Phaser.JS asteroids game!”

The MMA team trying to hold up the big check. From left to right: Tim, Michael, Kai, Andy, me, and Kristine. (Photo by Daniel Viau)

“How much code?”: The Real Answer

Earthwise team members signing their names for the prize money. (Photo by Daniel Viau)

Professional developers did, in fact, write the bulk of the project I was working on. Surely anyone who does this for a living would have the skill to pull off an incredible project in 24 hours. But the first runner-up team, Earthwise, was comprised completely of high school students!

The right idea with a modest amount of programming experience can make for a unique project worthy of a prize. After all, winning is not always about having the most technically advanced code. Hackathons also judge on criteria such as overall “wow factor” and creativity. Winners past have fit this description. Make sure you check the judging criteria for your next hackathon, especially because there might be special sponsored prizes for unique types of projects. For example, Best DataCuse Hack for utilizing Syracuse’s DataCuse open data portal.

My point here is to emphasize that anyone can participate in a hackathon.

There is no doubt that I got lucky to be invited to a team that eventually won 1st prize while participating in my first hackathon. But even if we hadn’t won, it was an excellent experience that has undoubtedly helped me on my own journey into becoming a data scientist.

Professional developers spending their precious time to teach me how to install Git and use Github? Or explain a simple syntax rule? My teammates wanted me to participate and learn.

Left to Right: Kai with the big check, Andy enjoying our victory, me writing my name on the big check. (Photos by Daniel Viau)

Participating in a hackathon should not necessarily be about winning. I came in expecting the bare minimum, to experience what it’s like to watch a hackathon from the sidelines while I work on homework all night, and walked out with a check for $83.33 (Kai snagged the extra $0.02). You could be next!

Hack Upstate XII

In the Syracuse area this weekend? Sign up for Hack Upstate XII here on October 6th and 7th, 2018 and check out the Hack Upstate Medium for more updates!

(This article was written independently of Hack Upstate and The Tech Garden. The views and words expressed here are mine. Photos credited and used with permission of the photographer.)

--

--

Melissa Schmitz

Research engineer in emerging tech (prototyping XR, UX, autonomy). ✦ http://linktr.ee/melissa_xr