Sep 25, 2017
Posted in: Miscellaneous
My first hackathon ever was last year at TechCrunch Disrupt in New York. It was a bust. My team left halfway through and I gave up trying to finish our project on my own. I still regret that. I promised myself the next time I was in a hackathon, I would finish the project no matter what.
This past year, I've been increasingly fascinated with blockchain technology. A blockchain is basically a list of records linked together with cryptography for security. A blockchain is stored on every node in the network rather than in a central server. And it's so much more than that, but we'll go down that rabbit hole another time. Anyways, I was getting tired of just talking about the blockchain. I wanted to actually code something that uses it.
One of the most interesting companies I've seen in this space is Sia. Sia is a blockchain company that lets people rent out their extra hard drive space to others while still keeping everyone's files secure. It turns out that Sia actually started at HackMIT 2013. HackMIT is a massive 24 hour hackathon that happens every fall right on campus. 1000 college students from all over the world gather together under one roof for 24 hours to code, hack, and build. I've been blogging about HackMIT for years, but I still haven't competed in one. So I figured HackMIT 2017 was the perfect time to let loose and code up my first blockchain project.
Just one problem. The deadline to register was in July. I didn't even know I wanted to do it until a couple of weeks ago. But they did say they accepted some walk-ins on the day of. I didn't have a team but I knew I wanted to code something so I was going to try my luck with that.
Saturday, September 16th. I woke up early in the morning and waited three hours in the walk-in line. Everyone on the registration line was signed in and brought inside before anyone on the walk-in line was. I was then given a card that said I was #13 on the wait-list. Everyone who had a number above #50 was asked to leave. Then, everyone above #20 was asked to leave. Miraculously, I made the cut.
At the opening ceremony, we heard a talk from Steve Huffman, one of the founders of Reddit, and from Kyle Vogt, founder of Cruise. Kyle Vogt was an MIT alum and told the audience some great stories from his time at Burton Connor, one of the MIT undergrad dorms.
Afterwards, all of the sponsors of HackMIT came up one by one to announce their prizes. While HackMIT gave out the main prizes, companies could choose to sponsor their own with special challenges. These were pretty creative. For example, Nasdaq wanted students to hack something that would change the way we look at financial markets. Disney's challenge was to use their new Marvel API in your project.
1000 hackers in one gymnasium. Incredible. I ran into so many of my friends who had also come to hack. It was interesting how, even though the class of 2017 has graduated, I still knew so many current students from my involvement in many different clubs. I also met a lot of new students from other universities. One student I met came all the way from Budapest.
Throughout the day, companies also gave talks about how to user their software in our projects. Since I was focused on blockchain, I spent a long time at the ConsenSys talk, learning how to integrate a software called MetaMask into my project.
Later on, I also went to an amazing talk with Austin McChord, founder and CEO of Datto, Charlie Cheever, co-founder of Quora, and Maria Latushkin, the CTO of Narvar.
Back in the main gym, I wanted to build a decentralized web application that used a blockchain as a database. Luckily, my experience coding previous MIT projects transferred over when building out the web app portion of my project. But to integrate a blockchain database, I had to learn Solidity for Ethereum. It was very difficult, as it was still pretty new and there were few tutorials and documentation. I kept running into bugs and got frustrated. It was getting to be too much to try to figure out in one sitting.
Cue 4 am. Judging was in 7 hours and I was falling asleep at my chair. No idea, no working code, no team. The snack booth even stopped serving energy drinks to stay awake.
I had the sudden desire to give up and go to sleep. I learned some Solidity, that's good enough, right? I started dozing off and thinking back to all the previous times in the past four years that I all-nightered to complete a goal. Every all-nighter I pulled to finish a pset and every blog post I wrote about it. Four years of training leading to this do or quit moment. I had quit my first hackathon and I wasn't going to quit my second. By 7 am, I had formed a new team with an old friend, Sathya '17, and a new friend I made earlier that day, Sathvik '21. I reasoned that if we worked together, we could probably hack something up that at least gave us something to present. We started coding. Willpower was our fuel. We entered a state of flow where nothing existed but our idea and our code.
In four hours, we hacked together a decentralized password manager that stores encrypted passwords on the Ethereum blockchain. The code didn't work. We tried again, modifying this and that. Still nothing. We sped through documentation and thought up of new things on the fly. We tried again. This time the code worked. We were able to get a working demo minutes before judging began at 11 am. After being awake for 28 hours, I had to pitch our idea again and again to like twelve different judges. Then we went to the closing ceremony to watch the top ten projects pitch. All of them were awesome. The HackMIT organizing team then announced the winners of the top prizes, followed by the company sponsored prizes. Win or lose, I was happy just to have coded an interesting, working project.
Then, we won the ConsenSys prize for best blockchain project.
I don't think I've ever felt as much of an engineer as I did at HackMIT. Rallying together teams, solving problems on the fly, challenging yourself, battling sleep deprivation, making something that helps people, all distilled into one 24 hour long experience.