We believe choosing the tools which fit a project is far more important than picking tools which feel superior due to familiarity. Specialising in a few key areas is important, but ignoring new and emerging possibilities is an easy way to get stuck in a time warp with more stable, productive, and generally better technology being released every day.
Git & Github - Code repository & issue tracking
Git is key to our development methodologies, we work in multiple branches and use a system similar to GitFlow to keep our repository ordered and understandable.
Github has become the industry standard for hosting Git, and we used a number of its core features to our advantage in this project.
Ruby on Rails - Language & Framework
We chose Ruby on Rails for this project due to the flexibility, ease of deployment, mature testing frameworks and the overwhelming amount of stable gems which fit our needs for this project.
Amazon Web Services - Hosting & File Store
We chose EngineYard to manage our EC2 instances, which provided the server clusters, load balancing, error reporting and chef deploy process with minimal fuss. This cut down on a large amount of setup, configuration and maintenance which would be required for base EC2 instances, it also progressed quickly on a tight budget and allowed customisation which is difficult in some simpler but more expensive solutions (such as Heroku).
S3 was our go to file storage platform for this project, good pricing and stability being the main reason for the choice.
Postgres - Database
Postgres was our database of choice for this project, its stability, scalability and flexibility were proven in past projects. Full support for indexable arrays also fit an early need for object tagging, which made this an obvious choice over competitors.
Sass & Coffeescript - Asset generation
Bootstrap - Front end framework
We chose Bootstrap to get the MVP off the ground as quickly as possible and keep the initial budget to a minimum. Although some applications require a unique design to fulfil their MVP requirements, BUF was based around a few core pieces of functionality. Once the MVP had been proven, the default styling didn't stick around for long, but there are still some core elements which have only been modified slightly to fit in with the current design.