First Hackathon: Citrus Hack
My first hackathon took place this past weekend, at University of California, Riverside. We initially started off with a pretty solid team of six people. Like everyone else attending the event, we were excited to put something great together and our ambitions trumped any doubts we might’ve had about the scale of the app we were about to create.
We started brainstorming ideas as we ate dinner at the local Mexican food joint, Jilbertos. We explained our experiences and skills and came out with a well-rounded team consisting of one UX designer, one back-end developer, two iOS developers (one of them being me), a landing page/presentation guy, and one guy who was there for moral support (he left a few hours later).
We eventually settled on my idea, a note sharing app that allowed students to upload class notes to gain points, which could then be used to read other people’s notes. It wasn’t long before one of our team members found two websites using this exact idea. Back to square one.
Exploring some of the other options we overlooked, we decided to create a music playlist app that allowed one person, the DJ, to create a playlist with a code. The users that were attending the same event as the DJ could then enter that code in and view the playlist — being able to vote for which songs they wanted to be played. The songs with the most votes would then end up being priority for when the DJ plays his playlist.
Throughout the weekend, we wasted way too much time trying to fix bugs and accomplish every single detail that was planned for our app rather than focusing on creating a minimal viable product. Trying to utilize the Spotify API really fucked us over as it was completely outdated for iOS — something we did not realize until after the first night. We spent hours and hours trying to integrate an API that was not compatible with the new Xcode version.
The second day was primarily spent trying to figure out a different way of integrating audio with our app. Since Spotify was out of the question, we decided to allow the DJ to pull songs out of their own media player. Yet again, we encountered the same problem we had throughout the hackathon, trying to fix a bug for hours on end. Barely functioning on a couple hours of sleep, we would stare at the computer screen for hours trying to figure out why our app was crashing every time we ran it. Our team, consisting of all new hackers, was too stubborn to switch gears. We directed all our energy on fixing these bugs one at a time, barely making progress toward the completion of our app.
Then came the final night. We were down to four guys. I felt like shit having not got up for more than a few minutes at a time over the past 30 or so hours. Even worse, I forgot my toothbrush, chapstick, and other necessities and felt like my body was about to break down from exhaustion. The last night was both the shittiest time of the whole weekend and the time we got the most work done. We ditched all the useless bug-ridden code and just built upon everything that worked.
At this point I had over five project folder clones from constant Github pull requests and clones. Half the time I was updating the wrong folder.We were delirious and barely had an idea of what we were doing anymore. All we wanted was just reach the damn finish line.
But suddenly, all hell broke loose.
I glanced at the time and saw that it was already an hour and a half before our presentation time. While merging all our code together, we encountered multiple errors that broke our code every time we would press a button. Eventually we couldn’t even get a functional app running in time for presentations. We wondered whether to revert back to an older version of our app that did not have any of the extra features we had just implemented. But being half-asleep and too exhausted to think clearly — we did not think our half-done hack was impressive enough to show anyone.
There is absolutely no reason not to present what you’ve been doing for a whole weekend. I wish I had realized that earlier. Being my first hackathon, I felt like it was an experience I needed to know what to expect for all future ones I was going to attend.
In retrospect, this hackathon was quite different from the one I pictured in my head before coming. There are some huge lessons I learned NOT to do for any future hackathons.
1. Spending too much time focusing on the hack and not enough time networking and learning from others.
One of the best parts of hackathon is that everyone there is interested in the same thing as you! You’re going to make new friends and you’re always going to meet someone smarter than you, no matter how smart you think you are. Sharing ideas and collaborating with other motivated individuals like yourself is refreshing and some of the connections you make will last your whole life.
I did not realize this and kept in my team almost the entire time.
Putting all your energy into your hack may seem productive but you can get so much more from walking around and meeting others. Most everyone there is excited to share their product and lend a helping hand if you ever get stuck on something.
2. Directing all our energy on fixing bugs rather than making progress towards a minimal viable product.
Sometimes during the hackathon you have to stop for a minute and ask yourself and the team, are we making any progress towards finishing our hack? We definitely failed on that aspect as there were too many moments where we would get stuck on a bug for several hours — half of that time spent staring at the computer screen hoping the answer would pop up out of nowhere.
You have all the time in the world to do that for your other projects, but during a hackathon? Make use of the limited time you have and set milestones every so hours of how much work you and your team has done. Fixing bugs half the time is never a productive use of your time when you could be getting closer and closer to a finished product.
3. Not presenting the hack you have been working on for the past 40 or so hours.
You should always present your hack even if you did not create anything impressive. At some point in your life, you are going to have to sell an idea or project you have created whether it be in your future career or to a potential investor. Even if you do not have anything to show, be proud of all the hours you spent on the hack and present the hard work you created! There’s no downsides and it’s a great way to hone your marketing/leadership skills.
Although my first hackathon was not the experience I expected, it has prepared me for any future events I am going to attend. In the end, I walked out with a whole new set of skills, improved resiliency, and some new friends.