Running the Bonobos Stack on Heroku: Interview with Austen Ito

Austen Ito is a software engineer at leading online fashion brand Bonobos, based in New York. Read our Bonobos customer story for more information about how Heroku has helped their business.

What do you have running on Heroku?

We’re running just about everything on Heroku, including our website, cross-app messaging services, an API for our ERP, as well as some internal tools. The only pieces that are not on Heroku are the Data Science and ERP components. We’re also using for customer service queuing.

Walk us through your stack

We use a mix of Backbone and React in terms of JavaScript frameworks on the front end. Some of our legacy work is in Backbone and our newer work is in React, so we’re slowly moving the old work to React. We’re using a Flux-like framework called Redux.

On the backend, we use Rails and Solidus, a fork of Spree, the open source e-commerce engine built on top of Rails. The Solidus project was a great bootstrap for our API, admin, and data model, as well as our store customization.

Are you taking a microservices approach?

Yes, but not quite. We have services that are somewhat micro, but not everything is a microservice. I’ve seen that done to the extreme, and that approach is not necessarily one that we’d want to take here with the size of our team.

What database are you using?

We’re using Heroku Postgres Premium. We find the automatic promotion of the follower is great for us. We use read-only replicas for reporting and store them in our Redshift data warehouse. There are also internal users who need read-only access, such as our analytics and data science teams.

What Heroku Add-ons are you using?

We use a few, including Heroku Postgres, Redis Cloud, Librato, Logentries, Heroku Scheduler, SSL, and Rollbar.

Rollbar is a really nice product for error handling, both front- and back-end. It groups errors really well together so you can do analysis and chase errors throughout the system. It has nice alerting rules around reactivation errors or error count notification.

We also use Skylight, which is a Rails instrumentation engine for app performance monitoring. Their agent is lightweight and you get a good sense of the long tail of your performance, rather than just the median or worst case.

What technology do you use for your Guideshops (brick-and-mortar versions of Bonobos)?

Our Guideshop model is different than the traditional retail store in that it focuses on providing customer service and removing the nuances associated with it. That in-store experience is enhanced with technology we’re using here at We work with a company called Tulip. They built the iOS tablet application for our sales associates and it draws everything through our API. Employees are able to put in orders, do returns, as well as help people with their wish list and size preferences. All products, orders, everything is still administrable, still lives in our admin backend, but we don’t have to maintain that interface.

Thank you for your time!

Thank you!  

Browse the blog archives, subscribe to the full-text feed, or visit the engineering blog.