Lessons From My First Hackathon

Mikey Badr
4 min readNov 12, 2014

--

You better work (for 48 hours straight, powered by caffeine and adrenaline)

This past weekend I participated Hack Nashville 6. If you're not familiar with a hackathon, they involve teams of nerds (who may or may not have known each other before) trying to make something in 48 hours. They can make whatever they want, a website, a mobile app, a robot, or something else entirely. Friday night everyone gathers in a large room to eat and socialize, afterwards people with ideas can walk up to microphone to pitch to the crowd. Teams form up Friday night and present their creation Sunday evening, giving each group about 48 hours to design, build, debug, and prepare a demo.

I pitched an app idea, assembled a team, acted as project manager, and presented a prototype on Sunday. I pitched my idea, called friendSwipe, as Tinder for Facebook. Instead of meeting new people, friendSwipe would let you get more out of the social network you already have. Many people have hundreds of facebook “friends”, but they probably haven't interacted with the majority of them in years. My goal was to make a way for people to get more out of their social network by going through their friends one by one and either unfollowing them (meaning they would never show up in your news feed) or reconnecting with them. If two users express an interest in reconnecting, they would be notified. This way, if you wanted to catch up with someone, you could know if they feel the same way before reaching out.

In the end, what we ended up making had more than a few compromises, but I learned a few important lessons along the way:

Make sure it’s possible

It turns out the facebook API has some pretty harsh limits, two of which really hurt us. The first is that you can’t unfollow a friend through the API, making one of our main features impossible. We changed it so that a left swipe would simply ignore the friend. The second limitation is that even if you log in through an app, it doesn’t have access to your friends list. In other words, our app could only show you friend who have already installed the app. These limitations caused us to sacrifice a couple features we were really hoping to have. Unfollowing would improve your facebook experience by letting you see less of the people you don’t care about. We wanted access to the full friends list so our users could have the experience of seeing someone with whom they haven't had contact with in years. In the end, we decided to press on and make the app anyways. Besides, only people who were already open to reconnecting would install the app anyways, so maybe people would encourage their friends to install it.

Delegate clearly and intelligently

For the most part our team was myself and four others, two of whom are my classmates at Nashville Software School. As PM, it fell to me to assess the strengths of each team member and assign them responsibilities. This part was easy, because I had worked with both of my classmates before. The great thing about a hackathon is the people are eager to share the skills they know and learn about things they don’t. I was lucky to have someone on my team who was more experienced in back end development. Assigning responsibilities clearly and according to people's strengths made our entire workflow much smoother. When a new problem or challenge arose, knowing who it should fall to let us work more efficiently.

Trust your team

After you have delegated, you need to be able to trust your team to complete the tasks assigned to them. This frees you up to be able to complete your own assignment and focus on making sure your team is communicating. I barely looked at the back end, because I trusted the person assigned to it and knew that any success we would have would be a team effort. If I can’t trust my team to do what they say, we are dead in the water anyways, so micromanaging would be pointless.

Leaders need to lead

Saturday night, after 24 hours of work, we learned of the limitations of the Facebook API. This was extremely discouraging. The fact that two of our main features would be impossible nearly led to our team scrapping the project entirely. As project manager, I failed when I let the emotions and reactions of my team influence my decision making. I was swept up in the frustration and discouragement when I should have been able to think objectively and make a decision at that point in time on how to proceed. It was only after a few hours of complaining and moping (and drinking) that we decided to press on. If I had used my role as a leader to make that decision as soon as we learned of these limitations, we would have avoided wasting time and had a better product. If you are going to be a leader, you have to be ready to actually lead and avoid being swept up in your team.

Overall I had an awesome time at the Hackathon. I learned a lot, had a ton of fun, made some friends, and the free food and beer was cool too. I would recommend anyone who is a developer, creative, or maker of any sort to participate in one, regardless of skill level. You can follow the progress of friendSwipe here, hopefully we will finish it up in the coming weeks.

  • Mikey

Update: I ended up finishing friendSwipe in January on my own as my final capstone for Nashville Software School. The server is hosted here, which has links to the source code for the app, written in the Ionic Framework, and the backend powered by Node, Hapi, postgreSQL.

--

--