DEV Community


Building an app business using Heroku and Salesforce

matthewrevell profile image Matthew Revell ・5 min read

The past decade was the era of the mobile app store.

Brilliant ideas, well executed, made fortunes for indie developers who were able to reach audiences of billions from their spare rooms, garages, and co-working spaces.

Thanks to the Google Play Store and Apple’s App Store, the best apps could reach users on merit rather than marketing budget.

But those days are gone.

Safari icon shown on an iPhone screen

Today, mobile app stores are dominated by big name vendors, while everyone else fights for a handful of ad dollars among millions of competitors. And mobile users are fickle. Most apps are uninstalled within a week of being used.

There is good news, though. We are now in the era of the business to business app marketplace, such as the Salesforce AppExchange. Motivated customers with long-term needs and realistic budgets are actively looking to buy solutions. So, what is it like for a solo developer or small team to develop such a business?

The size of the opportunity

Before we dive into the specifics of developing for an ecosystem such as Salesforce, there’s the question of whether it’s going to be worthwhile.

The short answer is: yes, absolutely.

Analyst firm IDC forecasts that, by 2024, the Salesforce ecosystem will create 4.2 million jobs and contribute $1.2 trillion in new business revenues to local economies.

Crucially, the majority of the value created by Salesforce is going to partners, such as companies making apps for the Salesforce AppExchange. In fact, for every dollar that Salesforce generates, its partners earn six dollars.

Salesfore AppExchange

Okay, big numbers aren’t always relatable so let’s look at the opportunity in terms of relative growth. Spending on cloud software is predicted to grow 19% each year over that period. For non-cloud, it’s just 3%. If you’re creating something new, it stands a better chance of success if you deliver it as SaaS. And a marketplace will help you reach willing customers.

Look, I've got my stack and I like it

Even if you haven’t used Salesforce, then you’re almost certainly aware of its reach. All those thousands of organizations using Salesforce to run their day to day business offer a potential audience for app developers.

So, the opportunity looks good but how do you actually build an app for one of these marketplaces? Perhaps you’re thinking that it means getting used to a bunch of exotic languages and frameworks.

In the case of Salesforce AppExchange, you use technologies that you’d find anywhere else. Let’s start with the back-end. If you usually work with Ruby, Python, Go, Java, or pretty much any other open source language, then you can use that to do most of your back-end’s heavy lifting on Heroku. Add in Heroku Postgres, Heroku Redis, and tooling such as Apache Kafka on Heroku, and you have a standard, modern web stack.

So, where does Salesforce come in? As Heroku is part of the Salesforce platform, you can easily sync data between a Heroku Postgres database and one or more Salesforce orgs. In effect, your app’s back-end can live mostly on Heroku and synchronize with Salesforce when the need arises.

When it comes to the front-end, you’ll need to work more closely with Salesforce itself as your users will interact with your app from within Salesforce’s UI. Even so, the tools you’ll be using will be immediately familiar. Lightning Web Components is a JavaScript front-end framework much like ReactJS, with ready made elements for common scenarios and the flexibility to create your own when you need to.

In fact, this is another place where mobile development offers a good analogy. If you’re building a mobile app you’ll need to use specific APIs for the front-end, while the back-end can be designed however you like.

How SharinPix built their business with Salesforce

SharinPix is an image management app built specifically for the Salesforce AppExchange. It began life when its founder, Jean-Michel Mougeolle, needed to process photos taken by field agents working for his then company. The agents would upload the images into Salesforce but the company needed to resize them and add supplemental data such as automatic annotation and watermarks.

Screenshot of SharinPix

The challenge for Jean-Michel was that the core Salesforce platform didn’t lend itself to general development tasks, such as image manipulation. However, if he could use a standard web development framework, such as Ruby on Rails, then he could plug into standard image manipulation libraries quite easily.

Already familiar with Heroku, Jean-Michel built a proof of concept using Heroku Connect, which synchronizes data between Heroku Postgres and Salesforce. On Heroku, he had a Rails app that would take images from Salesforce, manipulate them, and then sync the processed images and metadata back into Salesforce. Crucially for Jean-Michel, no one who tried the demo app had any clue that Heroku was involved; as far as they were concerned, it was a standard Salesforce application.

Shortly after, Jean-Michel spun SharinPix out of his original company and today has a team of developers serving 20,000 users. And while the development side has given SharinPix the best of both worlds -- standard web dev on Heroku, with easy integration into Salesforce’s UI -- the company’s success has been as much about the route to market that the AppExchange provides.

“AppExchange is fantastic,” says Jean-Michel. “Customers know that our app is secure and trustworthy because it has the Salesforce stamp of approval. Discovery is also very good. People can search for image manipulation then find our app page, where they can watch videos, read about the app, and start a trial. We don’t have to play the SEO game or spend on ads, because we have a ready made audience.”

Getting your start in the Salesforce ecosystem

The next big opportunities for developer entrepreneurs might not be in the most obvious places. B2B marketplaces are growing, have audiences that have proven their willingness to spend money, and provide an ecosystem of tooling, marketing support, and more.

Mug with the text 'Begin'

So, where do you go from here? If you’re interested in building for the Salesforce ecosystem, then there’s a wealth of learning materials on the Trailhead learning site, as well as a friendly and helpful community of fellow developers.


Editor guide