The Littlelines team participated in the 2012 Rails Rumble a couple weeks ago. Rails Rumble is a competition to build and design a web application with Ruby on Rails in less than 48 hours. Teams consist from one to four members from around the world. This year was the largest Rails Rumble yet with 500 registered teams! Our team included myself, Chris, David, and Beth as the designer.
Days leading up to the competition, we had several team meetings to toss around a few ideas and strategies. Some ideas included a holiday gift registry, a web app for finding pets adoptable in your neighborhood, and an simple code collaboration tool. In the end, we overwhelmingly decided on a idea that was both simple and useful.
Floatt, as the homepage says, is a simple way for friends to stay informed on funds borrowed and split in your daily life. For example, say you pay for pizza among a group of friends, Floatt provides a simple and friendly way to keep track of who owes you and calculates each of your friend’s share.
At the core, Floatt is built with Ruby on Rails, but there are also some key technical components required to make the application work in the real world. Being able to use Floatt on the go was a key feature we wanted from the very start. We enlisted the help from Zurb’s Foundation, a responsive front-end framework, to make Floatt look and work beautifully on mobile devices.
For the rest of the development, we went to our go-to toolbox: Haml, Sass, and of course Coffeescript.
The 48 Hours
With our mission in hand, we set out a plan to build this app in 48 hours (or less). Our plan of attack was not much different than what we do for our clients: work together, focus strengths, and keep open communication at all times. For the three days of competition, our plan looked something like this: - Day One: Deploy early. The main thing we wanted to do on the first day is setup the foundation application and deploy to the server as soon as possible. That way we won’t have to scramble on pesking server issues when coming down to the wire.
Day Two: Tackle complex items. We identified the critical path during our planning sessions and set out to complete these items before the final day.
Day Three: Bug fixes, tweaks, and polish. We knew that it was going to be a time crunch no matter what, but would rather focus on making app work better than making the app just work.
In the end, time did not end up being a challenge at all. That’s not to say it was easy. We did run into a few trouble spots.
Our first major challenge was clear from the very start. We had to configure our own server from scratch. Linode was a Rumble sponsor and in charge of running all the applications. At Littlelines, we’ve become accustomed to cloud providers such has Heroku and EngineYard and so we were a little rusting with system administration. However, with a little assistance from Linode’s “stack scripts”, we were up and running in no time.
Overall, the entire process went very smoothly and we didn’t run into any major hurdles.
When the Rumble ended Sunday evening, we accomplished everything we set out to do. We learned a lot and had a blast in the process. Looking back, I attribute three key areas to our success: Planning, identify complex problems early, and constant communication with the team throughout the process.
I can’t be more proud of the Littleline’s team for building this complete application in just two days. As for Floatt, we definitely plan to continue development and have some big ideas for it’s future. Stay tuned!