While browsing Hacker News, I came across this interesting account of Andrei Pop [blog, twitter] which tells about how he won a recent Facebook hackathon using an arduino hack.
It is a recent trend that hardware too has entered the hackathon scenario. Here are interesting excerpts from his honest account!
A few months ago 3 friends and I participated in the facebook hackathon at UBC. It was a 36 hour, redbull-fueled affair in which quite a few teams participated. We won. I’m not telling you this story to brag, I want to share with you what I learned. In all honesty, I was shocked we won, but I think that sticking to a couple of principles helped:
1. Don’t compete with your second best arsenal
2. Solve a real problem
3. Breadth instead of depth can pay off
Yes, you’ve heard this advice before and there are exceptions to every rule… I’m just sharing my personal experience.
Our team consisted of a designer, a biomedical engineer (who didn’t write a single line of code), a CS student (without a doubt the most “qualified” of all of us), and myself (a Political Science grad). I was the only non-engineering-educated person in the room. One essential lesson I have learned over and over in life is that it is futile to compete on a metric that you cannot possibly be the best at. Don’t compete with your second best arsenal. You need to find the edge that nobody else will think of, or where nobody else can be. If the competition can outspend you, outmanouever them. If the guy at the bar is better looking, be funnier. And if most of the guys in the room have PhDs in CS, go for hardware?
The night before the hackathon I picked up an arduino microcontroller, a few LEDs, some alligator clips, and a breadboard. I didn’t really know how things would come together, but I had spent some time hardware hacking and I was really interested in physical computing. I also figured that most of the guys in the room wouldn’t be thinking about hardware (this was a facebook hackathon, most people were looking up the Open Graph API). I hoped hardware would be our edge, and as it turns out, it was.
After a bit of brainstorming and chinese food we agreed to build Locksmasher – an arduino powered unlocking mechanism that would handle authentication through the Open Graph API. We wanted to create a way to grant one-time access to facebook friends that need to get into your house.
Half an hour into our brainstorming, one of my team members had to leave the hackathon to let a friend into his house. This event sparked the idea of locksmasher and outlines my second point – solve a real problem. A craft for a craft’s sake can often be futile. There are definitely exceptions to this, but most of the time, start with a defined problem and apply your craft, instead of the other way around. The judges loved that they could personally relate to the problem of needing to let someone into their house when they weren’t home.
Our hack was very simple – it was nothing more than a glorified switch that talked to facebook. Graeham (our biomedical engineer) hooked up an old door lock to the arduino for our demo. Yazad (the CS student) and I wrote a NodeJS server to talk to facebook. We spent most of our time dealing with authentication, a problem that could have been solved in a few hours by a better hacker who knows the facebook API well. In the meantime Vince (our designer) made everything look very beautiful. This brings me to my last point point, sometimes breadth is better than depth. I want to credit a tremendous amount of our success to Vince’s design work and Graeham’s hardware. By the end of the 36 hours, we had addressed a little bit of everything.
Most of the hackers in the room built some very elegant projects; machine learning algorithms, recommendation algorithms based on your friends likes, data parsing applications. However many of the projects were elegant for elegance sake and didn’t solve a pain point that the judges could relate to. Furthermore, they didn’t look at the whole package (arguably not necessary for a hackathon but I certainly think our sleek UI helped win over the crowd).
It easily highlights arduino’s adaptability to hooking with various technologies. It truly comes out as the bridge between hardware and software.
The project demo lies here.
Any hackathons worldwide in which our readers have used their Arduino? Please do link the demo or your blog 🙂 We would love to read!