B Lab

Heroku App Helps Social Enterprises Measure What Matters

B Lab helps for-profit companies measure and manage their social and environmental impact.


“Be a force for good in the world” is a guiding principle for any nonprofit. Today, this perspective is also inspiring a growing global movement of for-profit companies who believe that business can affect social change. Such mission-driven organizations are re-defining success in terms of social and environmental impact alongside financial performance.

B Lab was founded in 2006 to help formalize this movement by putting standards, legal structures, and measurements in place to provide guidance to the business world, government, and the public. Companies can take advantage of B Lab’s self-assessment tools and participate in the formal B Corp certification program.


Ultimately, B Lab aims to inspire companies to become leaders of change in their industries by leveraging the competitive spirit inherent in business. Companies strive to not only be “the best in the world” at what they do, but to also be “the best for the world” in terms of their impact.

New and improved assessment on Heroku

To help increase engagement with their mission and programs, B Lab wanted to overhaul their online tool for self-assessment and certification application. The process itself can, and should, be inherently challenging. However, some users were struggling more with the outdated interface than with meeting the certification’s rigorous requirements.

As the product team re-imagined the user journey, they found inspiration from consumer SaaS products, like TurboTax and QuickBooks. Such products take a highly complex process and present its steps through an easy-to-use, streamlined interface. Using Google’s Material Design language, the team developed a simplified, elegant, and highly interactive user experience for their assessment process. Their goal was to allow users to focus on the questions themselves, not on the interface.

Since B Lab was already using Salesforce Sales Cloud for CRM, it made sense for B Lab to build their new assessment app on Heroku, a part of the Salesforce Platform, due to the platform’s ability to support a rich user experience, as well as easy integration with Salesforce.

Heroku’s flexibility has allowed us to design and build the ideal app experience for our users using our languages of choice. John Vitelli, Chief Product Architect, B Lab


The B Lab stack

B Lab’s new stack on Heroku is comprised of three apps: their main impact assessment app built using Ember, their API built using Laravel, and an upcoming admin console also built in Ember. Heroku’s Common Runtime runs B Lab’s applications in isolated, lightweight Linux-based containers that are automatically provisioned and fully managed. Heroku’s Common Runtime runs on trusted Amazon Web Services infrastructure.

The team uses Heroku Postgres as their data store, along with several other Heroku Add-ons including: New Relic APM for monitoring, Papertrail for logging, SSL for encryption, and MemCachier for caching. The team follows a standard GitHub deploy process integrated with Travis CI.

With Heroku, the ability to turn on an add-on right within the Heroku Dashboard is fantastic. It’s a new way to develop quickly. John Vitelli, Chief Product Architect, B Lab

Currently, B Lab staff uses an admin console on Salesforce to review and manage certification applications, and they communicate with applicants via email, Community Cloud, and Chatter. The organization will eventually transition this process to a proprietary admin console on Heroku. They’ll continue to funnel app data into Salesforce to support their business development and CRM processes.

All data lives in both Heroku Postgres and Salesforce, and the development team needs to sync millions of rows of data between the assessment app on Heroku and the two data stores. With such a heavy data load, the team has been particularly impressed with how Heroku Connect makes it easy to seamlessly sync data.

Heroku Connect has really been fantastic. Without it, we would have written a lot more code to keep our very large databases in sync—it just saves us all a lot of time. John Vitelli, Chief Product Architect, B Lab

Starting with a basic feature set, B Lab launched a beta version of their second generation platform in March 2016. Currently, they are slowly rolling it out across B Lab’s various marketing channels. In the meantime, the development team continues to run B Lab’s legacy assessment app in order to support existing customers who need to log into their assessment data and history. Once they build out their full product, they plan to move everyone over to the new app.

Growing the movement

Since its inception, B Lab’s community has grown to more than 2000 certified B Corporations in 50 countries. The organization has established a global network of partner organizations that continue their work in Canada, Australia, New Zealand, UK, South America, and Africa.

The development team is focused on realizing their app’s full potential on Heroku. Their roadmap includes many powerful features, such as a user dashboard for ongoing engagement, localized versions of the app, offline functionality, and an open API. They also plan to port their marketing sites to Heroku as well. All will help B Lab further their mission to help companies around the world measure and manage their impact.