Lessons learned at my first hackathon win 17 Mar 2013
A few weeks ago my BarkBox co-worker Becky and I teamed up for the Tails and Rails Hackathon. We built Ones&Twos, an iOS app to keep track of your dog’s activities and accidents, like a Quantified Self for your dog. We won Best Implementation for it and here are some of the lessons I learned in the process.
Cut back on features and cut again
We had a bunch of features in mind, narrowed down the number of features and wireframed the views. Becky would build the iOS app for data input while I built the dashboard and charts as a Rails app. The web app would be responsive and we would embed the charts in the iOS app as a WebView. The dashboard would contain a map updating in real time displaying activity updates from other users. In the end we were running out of time and decided to stick to mobile only and ditch the real-time updating map. Lesson: Stick to one feature and expand on it if you have time.
Be familiar with your tools
We were using Parse for the back-end as Becky was familiar with it for iOS dev. I was a little unfamiliar with Parse and chose parse_resource which is supposed to work as ActiveResource for Parse models. I lost of a lot of time trying to get associations to work and in the end had to ditch a couple of features. At the same time I was learning D3.js therefore I wasted a lot of time learning rather than doing. Lesson: Stick with tools you are familiar with.
We waited until the last minute to integrate the graphs into the iOS app. That’s when we noticed the graphs were too wide and had to rescale them. Rescaling them made the labels in the axes overlap and had to quickly make a fix just in time for the presentation. Lesson: Start integrating as soon as possible.
This was my first time presenting at a hackathon so I was pretty nervous. I decided to start things off light with a story and a use case for Ones&Twos. I decided to keep it as non-technical as possible because out of the four judges I was only certain that Pete was technical. This worked out well as it got all the judges and started asking questions which I think improved our chances. Lesson: Knowing your audience is as important as building a cool app.