SmileBack Goes from Proof-of-Concept to Million Dollar Business on Heroku

Easy deployment, seamless horizontal scaling, and data sharing tools made Heroku a perfect fit.

SmileBack integrates with helpdesk platforms to deliver quick customer satisfaction surveys at multiple stages of the user experience. SmileBack's simple "'happy face"' format captures a customer's sentiment and can identify churn risks long before the customer has failed to renew.

Heroku provided the startup with a straightforward path to launching its product within weeks. As the team and product grew, easy horizontal scaling and built-in data sharing tools gave SmileBack all they needed to keep growing without adding operations staff.

A happy green, neutral yellow, and sad red face illustration riding on top of an arrow pointing to the right

Early exploration and laying the foundations of a business

Founded in 2014, SmileBack was initially designed as an add-on for ConnectWise Manage, a tool for enterprise IT helpdesk teams. The founders set out to produce multiple products within the ConnectWise space, releasing three products in quick succession that were all aimed at enhancing the support experience. As time went on and they got more feedback, it was the second of the three, a customer satisfaction survey tool, that customers were really interested in. The founders decided to focus entirely on customer satisfaction tooling and named the company SmileBack.

From demo to production app on Heroku

At the beginning of the project, SmileBack’s engineering co-founder estimated that it would take only 32 hours to build the initial version of SmileBack on Heroku. He was correct — in just over a month, SmileBack had an early product ready to show to customers. Heroku was the founders’ clear choice to help them get a working product up and running so quickly. The fully managed platform — Heroku takes care of maintaining servers and infrastructure — means that developers can deploy quickly and focus on developing the best possible product. Heroku enabled the founders to build and launch an idea, turn it into a real company, and set it up for growth in their target market.

An example of the SmileBack user interface showing client satisfaction reports and other metrics

Using Heroku Postgres for scalable data storage

As the product grew, the SmileBack team needed a scalable solution for storing large amounts of customer feedback data. Heroku Postgres was key here. As a managed data service, the team didn't have to set up and maintain their own database fleet; they could leave this all to Heroku experts and focus on working with their data. In addition, scaling was easy --- Heroku allowed them to instantly scale up the capacity of their Postgres databases, or install new ones, in just a couple of clicks.

Three years in, Heroku Postgres has remained a solid layer for all SmileBack’s data needs, using SQL queries to do large amounts of data processing directly in the database. Heroku Postgres, along with the Heroku Platform itself, enabled the engineering founder to build and launch SmileBack’s MVP, as well as operate, scale, and iterate it himself, until the company grew enough to hire more engineers.

Heroku lets us run Postgres without having to worry about database operations. Instead, we can focus on working with our data. Henrik Heimbuerger, Co-Founder & Former CTO, SmileBack

Heroku Postgres makes it easier to explore new features

Along with providing robust storage, the SmileBack team has found Heroku Postgres to also be valuable during feature development. During one sprint, the team was working on creating word clouds based on customer comments. They felt they might have stumbled on a real problem — how to group similar words, how to match words by stems, and how to query all comments quickly.

However, Heroku Postgres gave them two benefits: a performative codebase and a mature market. The first meant that even a complex query, like when creating a word cloud, was safe to run on production. The second was critical, because a Google search of “Postgres word cloud strings” returned many great examples from both the Heroku Postgres documentation as well as the large community of Postgres users.

While iterating on new features, the team often wanted to access and share data stored in Heroku Postgres to help inform development. Heroku Dataclips made it easier to share specific query results with others in real time, helping the team make better decisions, faster.

A photo of the SmileBack team standing on steps outside a building

A growing customer base without late-night emergencies

During SmileBack’s early days, the ability to deliver a product with a single engineer was key. Now that the userbase has grown, a small team of engineers can continue to develop the product without the emergencies, late-night calls, and pager duty rotations so common with self-maintained platforms.

On Heroku, we have basically had no downtime. To go five or six years without an outage is extremely impressive. Henrik Heimbuerger, Co-Founder & Former CTO, SmileBack

By offering near-zero downtime for customers for years on end — without the need for a dedicated DevOps specialist — SmileBack can deliver maximum performance with minimal costs to the business. Heroku enabled the SmileBack founders to bootstrap their startup, focus on meeting customer needs, and grow to become a multi-million dollar business.

Our company couldn’t exist without Heroku. We’ve been with Heroku from the start, and we’re now a $1.4 million ARR company in the customer feedback industry. Ryan Grant Little, Managing Director, SmileBack

Inside SmileBack on Heroku

SmileBack runs on Django with Celery as a background task queue. Data storage is entirely in Heroku Postgres. SmileBack uses several Heroku Add-ons, including Sentry for error tracking, Librato for performance monitoring, SendGrid for email delivery, and Fixie for static IP addresses.