A little over a week ago, @jishangiras and I won 3rd place* at Salesforce’s mega $1 Million hackathon. The 2 day event held in San Francisco was nothing short of phenomenal and unlike any I’ve attended before. Jishnu and I won $35,000 for our app - ReachOut (may no longer be functional). Here are my thoughts and a few points on how we did it:
I’ve attended a few hackathons in the past but none compare to this one. Salesforce does a great job of not making the hackathon easy for you. To begin with, you’re competing against ~1,000 talented programmers from across the world who’ve made their way to San Francisco for Dreamforce (Salesforce’s annual company event). If that isn’t intimidating enough, there’s a strict 48 hour-ish timeline to conceptualize and build an app from scratch.
Most people spend the entire weekend at the venue. We (my friend and I) slept on bean bags under our tables for a grand total of 6 hours that weekend.
Up until the hackathon & Dreamforce, I’d never known much about Salesforce beyond an average understanding of their products. It’s hard to truly understand the scale at which they operate unless you’ve been to your first Dreamforce. Salesforce doesn’t cheap out on anything - the venue, the perks, the speakers or the swag. The event on the whole is a big deal for the company and it clearly shows. Organization & hospitality were top notch.
Other than a minor glitch during registration, the hackathon was smooth. WiFi was great, food was decent and hackers had clear guidance throughout the event.
Here’s how we managed to win 3rd place. Hopefully, these tips will help you win your next hackathon.
1. Prepare in Advance
You usually have very little time to code at a hackathon and you don’t want to waste your time planning your app or setting up your dev environments when you get there.
You want to do as much research and read the hackathon guidelines at least a week in advance. Try to understand what kind of apps they’re looking for. For instance, one criteria at the Salesforce hackathon was to highlight the use of the Salesforce 1 Platform. I didn’t know much about it and didn’t want to spend my time learning during the hackathon. My friend and I got together a week in advance and built a dummy app to familiarize ourselves with the APIs. This gave us a huge speed boost compared to the other teams.
While building the dummy app, I had trouble setting up the Heroku Toolbelt on my laptop and it resulted in a 3 hour battle with SSH keys. Imagine if I had to waste 3 hours during the hackathon? Since I’d fixed the issue in advance, I simply setup a new Heroku project and got started.
2. Understand the Hackathon Guidelines
Organizers will usually publish a document describing the kind of apps that they’d like to see you build. They’ll also tell you the judging criteria and how many points are awarded toward each. For example, you could have something like this:
- 25% for innovation
- 25% for design
- 25% for business potential (can this “hack” turn into a real company?)
- 25% for use of [company] APIs (Salesforce in our case)
Think about different ways that you can score high for each criteria. If you think you’ll fall short on one, learn how you can improve your chances or partner up with a teammate who can fill in those gaps.
Come up with general ideas on what you could potentially build. If the hackathon was held previously, try to lookup the winners to understand what kind of apps the judges look for. This will also help you avoid building apps that overlap with previous years’ winners.
3. Team Up
If you have friends who code, ask them if they’d like to join you. A lot of people waste hours during the hackathon to form teams. Now, there’s pros and cons to this. The cons are clear - you waste time and you don’t know if the other person can deliver. The pros - you make new friends. It’s really your decision.
Personally, I don’t like wasting my time. There’s going to be plenty of opportunities to network during breaks and lunches. Plus, since my friend and I knew each other’s skills, we were able easily delegate and deliver a usable app.
Once you’ve settled on an idea - build! It takes a lot of effort to build something presentable and usable within such a short timeframe. You’ll need to rough it out. Hackathons can be very demanding and you need a lot of energy. Prepare yourself for it. Sleep well on the day before the hackathon.
Our team set hourly goals and reported to each other with updates. If we were stuck on something, we’d try to help each other so we don’t waste time.
Depending on the hackathon, you’ll need to tailor your presentation. You could have built something great but if you don’t present it well, you’ll end up losing points.
We gave ourselves 3 hours to create a compelling presentation. That meant that we had to complete the app at least 3 hours before the timeline. Our first round of judging was high-school science fair-style. We knew we had 2 minutes to present and 1 minute for Q&A as judges walked by our tables. We wanted to make an impact so, we built a homepage and set up 3 computers and our app to create a display that the judges wouldn’t forget. Here’s what it looked like:
We also scripted our pitch. We wanted to make sure we highlighted every feature and we made sure the app worked.
That’s really about it. Do your best, be honest and then wait for the results. Good luck for your next hackathon.