The Tech Which Launched Bristlr

Bristlr

 

A few days ago Bristlr.com launched its public beta. The website is a sort-of dating site, mostly social networking site, focussed around the love of beards. As the tag line reads “Connecting those with beards to those who want to stroke beards.”

The goal is to show you people nearby who might want to meet up, with the ability to filter those results by whether or not they have a beard.

Here’s a quick overview of the products and services used to get it to its proof of concept launch:

The App

  • Node.js (Language) – I’m just in love with server-side JavaScript. Notable modules:
    • Express.js (Server)- the application framework of choice
    • Passport.js (Authentication) – Easy authentication that’ll scale well
  • MongoDB (Database) – Plays nice with Node.js and is fast to develop with
  • JQuery (JavaScript library)- Why re-invent the wheel
  • Bootstrap (CSS framework) – Pretty, simple, and makes the site instantly work on any device
  • Mandrill (Email infrastructure) – Easy to use, with pretty powerful monitoring and analysis
  • Google’s Geocoding API (location services) – Turns user entered addresses into longitude and latitude values

Development

  • Sublime Text 2 – Simply the best text editor I’ve ever used.
  • GitHub – Everyone’s favourite source code repository
  • CircleCI – Clean and simple continuous integration and deployment service
  • Mocha – Easy to use and versatile testing framework
  • Dollar Photo Club – High quality and cheap stock photography

Hosting

  • Namecheap – Not-terrible domain management
  • Heroku – Easy, scalable, cloud hosting
  • Amazon S3 – Store every file ever
  • MongoLab – Fast, simple, cheap MongoDB hosting
  • CloudImage.io – Resize and crop images, with bonus CDN

Monitoring

  • UptimeRobot – Emails me when the site goes down. So simple, and it works so well
  • Librato – Great monitoring of your Heroku traffic and nodes
  • Logentries – Somewhere to shove all the Heroku logs
  • Google Analytics – In-depth analysis of who is using the site, and how