Rails Rumble 2012
This weekend the Goodsmiths team participated in the 2012 Rails Rumble, a 48-hour programming competition:
The Rails Rumble is a distributed programming competition where teams of one to four people, from all over the world, have 48 hours to build an innovative web application, with Ruby on Rails or another Rack-based Ruby web framework.
To align with an API that we are developing at Goodsmiths, we decided to build a simple site for rating handmade goods called Craft or Crap. It was intended to be a tongue-in-cheek homage to HotOrNot.com — the interface was especially influenced by the old HoN site.
From the About page:
About the Team
Team BAMF consists of three dudes who wanted to knock the socks off of the world with their code slingin’, keyboard rockin’, dubstep kickin’ kind of ways. We have Eric Heikes from Goodsmiths on front end, Brad Angelcyk from Automattic on mobile, and on the rear, Levi Rosol from Goodsmiths on backend. These dudes are certainly BAMF in every sense of the phrase, in a nerdy kind of way.
About the Idea
Craft Or Crap is a project hatched during the Rails Rumble 2012 event and is intended to highlight the use of existing APIs within e-commerce applications, specifically within the handmade goods market.
The site is also intended to provide a solution for a problem within the handmade marketplace; promoting items of very high quality and weeding out unappealing items.
Because the data collected within this experiment is anonymous, the intent is for said marketplaces to have complete access to the data in aggregate. We feel the data provided within Craft Or Crap will help the source marketplaces provide better service and more value to their users.
Building the Idea
As a first step for building the application, team BAMF needed to find data. The only two handmade goods marketplaces to offer an API are Goodsmiths and Etsy. With a little finesse, the team was able to aggregate data from both marketplaces into a single dataset to be used as the basis of the Craft Or Crap website.
Once data was in place, the application started coming to life. It was decided that the website itself would remain very light in regards to code, with no database weighing it down, and would instead rely on a super fast API for all data interactions. This API was created using Sinatra, supported by a Mongo database, and continues to qualify by team standards as super fast. With the current dataset, all requests for data take less than 5ms and we do not expect it to increase above 75ms under load. We’ll hope for the best. :)
Being a team of developers, design was tough during the event. Twitter Bootstrap was used to get the initial front-end in place. Various changes were made, but primarily the design consists of small tweaks that the team felt worked well for the purpose.
Some things we managed to cram in:
- Listings from both Goodsmiths and Etsy, with product information and links to purchase
- Quick product loading via Ajax calls
- “Top Ten” and “Bottom Ten” pages
- Sharing buttons for Pinterest/Facebook/Twitter/Google+/Reddit
- Microdata-formatted for search engines
- Developer documentation for the API
Brad worked on building an iOS app. This video shows it off and also gives a good idea of the functionality of the website: