How much would it cost to build a messaging app like Slack?

Written by Justin

Could $100,000 and the right developer(s) be your path into the billionaire club?

Slack was initially built as an internal tool for video game developers. After they closed shop in December 2012, a subset of the team built out Slack into a standalone product and launched it just nine months later. The business communication app quickly took off and reached a $1 billion valuation in just over a year—making it the fastest company ever to achieve “unicorn” status.

Ok, well, there are a few minor footnotes: Slack did raise $17 million after the closure of its video game business, the internal tool that Slack was based on already existed, and there was probably some luck involved with its meteoric growth.

But, the question remains: Could you build Slack from idea to launched product with $100,000? If not, how much would it cost?

Developing apps is much more complicated than it looks on the surface. 

Planning costs (or debts, your choice!)

Instant messaging seems relatively straightforward: A bunch of people can send messages to each other.

You might envision a data model consisting of users, messages, and perhaps rooms that contain users and messages—it really doesn’t seem all that complicated.

Or is it?

Do you want to notify everyone when a new message is posted to a room? Do you want the sender to receive read receipts? Do you want users to communicate directly with each other? How do you control who accesses a room? Can some people see comments but not post any messages? Who can invite new people to a given room? How are payments processed? Should you turn off an account after one missed payment or give them a grace period?

You might think that you can easily answer these questions with a “yes” or “no”, but half of the challenge is thinking through these scenarios before hitting the ground on development. If you skip a load bearing beam when building a house, you’d be perfectly fine until you want to build a second story to the house. The same is true for software development!

Slack Development Cost

Planning pays. Source: xkcd

On the other hand, if you add everything and the kitchen sink to your messaging app, you could be wasting money building and maintaining features that nobody wants to use. Every decision that you make early on can have an oversized impact down the road. You want your first version to be as simple as possible, but still be well-designed enough to accommodate constant change.

There is a lot of time cost involved in these stages. When we work with new clients, we spend a full day in person discussing high-level points and then even more time on our own researching the best solutions for the problem.

If you skip the planning stage, you can probably get a product to market more quickly, but you will incur what’s known as technical debt—that is, you will eventually need to rewrite code that you’ve hastily written or spend more time on maintenance and scaling than feature development.

Getting a little technical

A quick Google search for “build a Slack clone” shows several tutorials discussing how to build a copy of the app in different frameworks. Even if they are 100-page tutorials, you could probably get it done for less than $100,000, right?

Slack Development Cost

How hard could it be? Source: Google

Let’s first take a look at the technology involved:

  • Authentication - You need a way for visitors to sign-up and sign-in securely. If you think that’s an easy task, one developer looked at commonly used authentication tutorials and found that most were incomplete or made a major security mistake. You better know how encryption works or who you can trust to handle security!
  • Front-end - Most visitors are conditioned to expect responsive interfaces. God forbid you have to wait more than 100 milliseconds for a page to reload, but that’s the world we live in now. This requires a front-end framework, such as Facebook’s React framework, in addition to a back-end system, which at least doubles the amount of work involved. You may also need an iOS and Android app—which will each cost as much as the web front-end, if not more, to build out. Whether these other apps are required for an MVP depends on the users' requirements.
  • Back-end - Instant messaging involves sending a lot of data in real-time. You can’t have one person send a message, save it to a database, and then rely on the other guy to query the database for messages every couple of seconds. Instead, you need to have each computer “subscribing” to updates from the others and anyone sending a message “pushing” it out. That’s a much more complicated process than a simple news or ecommerce website that uses a standard database.
  • API Integrations - Slack’s utility lies in its integrations with hundreds of other platforms, like Giphy. That way, you can receive an instant update when Jen from Sales closes a new deal with a 100% uptime SLA… and another one from Sam in Operations saying that there’s smoke coming from the server room. These integrations must use different third-party APIs that are constantly changing, which means that you need to be on top of those changes at all times. It's probably not necessary to include all integrations (or even any) in an MVP, but the decision will depend on the users and their needs.

These are just some of the technology considerations happening under the hood. A tutorial can probably help you build a basic working model after a lot of frustration and hair-pulling (read: outdated tutorials), but you will still be quite a ways off from a prototype that you can actually put in front of customers.

Give it to me straight: How much?

So, what does all this mean in terms of dollars and cents? How much do you need to shell out to be a billionaire? We scoped out a Slack MVP to see how much it would cost to outsource development.

We started by coming up with a list of every feature that you might be tempted to include in a Slack-like app, ranging from creating an account and changing your password to filtering channels and creating custom hotkeys. We then pared down these features into MVP Features and Declined Features — or those that wouldn't be included in the initial version.

The next step was breaking down these features into design, backend, and frontend tasks and then adding up the total hours.

  • Design tasks would take about 144 hours at a cost of $21,600.
  • Backend tasks would take about 366 hours at a cost of $54,900.
  • Frontend tasks would take about 246 hours at a cost of $36,900.
  • Site marketing would take about 60 hours at a cost of $9,000.

The total cost comes out to $122,400. We also typically add 20 to 30 percent to this cost as a buffer to account for any uncertainties that arise. This would push the Slack MVP up to around $153,000 in total.

You’ve now sunk around $153,000 and several months into developing the app. If you want a mobile front-end, you could end up spending hundreds of thousands of dollars more to develop iOS and Android versions of the front-end.

All of these apps will also need to be maintained: Apple might change the way that iOS works, requiring an update to the mobile app, or one of the third-party libraries that you use in the back-end (such as payment processing) may change and require an update. These add to the ongoing cost.

Finally, there’s dev-ops costs. If your app is successful, the odds are that you’ll need to support a lot of concurrent users, which can be a technical challenge of its own. In fact, Slack struggled with these challenges as it was scaling its business! These costs—and server costs—further add to the expense.

Here’s the bottom line

Developing apps is much more complicated than it looks on the surface. Before you spend any money, it’s important to invest in the planning process. We believe in this so much that we dedicate a full day to in-person meetings and weeks to research and planning following that meeting. It’s arguably the most important part of the entire process.

From there, you can reduce costs by narrowing the features you want to the bare minimum. You should focus on getting a product in the hands of customers as soon as possible and rely on their feedback to add features and improve over time. That way, you’re not spending $100,000 on adding API integrations or other features that customers aren’t really using anyway.

Are you interested in learning more about app development or how to hire the right developers to build out your idea? Sign up for our free newsletter for busy founders to get weekly, bite-sized lessons on building tech startups outside of the usual hubs, delivered straight to your inbox every Wednesday.

Justin is a tech blogger and independent software developer. He writes about a wide range of topics, from the latest developer frameworks to startup advice.