737 336-5118 info@vironit.com

How to Create a Messaging App Like Slack?

19.11.2019 Daria Mickiewicz
3 Comments
How to Create a Messaging App Like Slack?

Above $1.2 billion market cap, 8 million active users, and 3 million premium users, Slack went from a failed gaming startup to one of the famous unicorns of the tech industry. It sounds too good to be true.

So, what’s behind these eye-popping results? This article assumes a basic understanding of how to create apps like Slack. Get ready to dive in and create Slack app.

What Is Slack, and Why Do Users Love It?

You’ve probably heard about Slack’s success story. And you may have read how the Tiny Speck company made a game that failed and then became Slack, which is already used by more than 30,000 teams and valued at over $1 billion.

But, what actually is Slack? Slack is a collaboration hub that can replace email and messaging apps to help a team work together seamlessly. It’s designed to support the way people naturally work together, so you can collaborate with people online as efficiently as you do face-to-face.

Switch for a moment from reading to video to see how work gets done in Slack.

What are the best practices for using Slack with customers?

According to a Gallup survey, nearly half of the American workforce has logged hours remotely. Slack channels are helping distributed and remote teams stay up to date. Following you will find how Slack connects a dispersed network of Lego resellers to exchange real-time information.

Wickstrom Dairies relies on Slack as the foundation of its tightly synchronized operation — from farming 1,000 acres to milking 24,000 cows daily.

A new survey of 17,000 knowledge workers worldwide finds email lacking when it comes to effective workplace communication.

Essential features of the Slack Instant Messaging App

Here we’ll highlight some essential Slack features that make teamwork more efficient and help team members stay aligned and focused on their goals.

Direct messages

Direct messages and group direct messages are best suited for quick conversations. This quick and simple way to ask questions can be used when a user needs to send a message to a particular person instead of the group then.

Messaging in Slack

Messaging in Slack

Channels

Your workspace consists of channels which can be based on anything — teams, projects, or even office locations. Shared Channels option allows one to connect two separate organizations without having to leave Slack.

Channels

Notifications

Slack notifications can be customized by channel, so you can prioritize where your attention goes. Also, you can choose the way you’d like to receive notifications: on your desktop, on a mobile device, or by email.

Notifications

Integrated tools

Slack enables tools and services like Zendesk, Salesforce or Jira to work in the same place as your team. Information leaves siloed inboxes and flows into shared team channels.

  • Connect your tools with Slack.Since the Slack App Directory involves over 1,500 apps can be integrated into Slack, you can waste less time switching tabs and focus on meaningful work.
  • Build your own with Slack’s APIs.You can configure Slack for your team’s unique requirements and technology using the Slack API.

Integrated tools

Workflow Builder

Workflow Builder is a visual tool that allows any Slack user to automate routine functions by creating custom workflows. You can have a seamless way to:

  • Standardize how requests are collected
  • Triage any outage in real time
  • Get new team members up to speed with welcome messages

Mentions

Mentions are an easy way to notify team members and pay attention to important information. You should add a @mention in your messages to notify the right people.

Search

The search function allows you to find out the essential data quickly. Search your team’s conversation history in Slack to find the relevant messages, files, channels, and people you need to get work done. Also, you can use the number of modifiers for narrowing the results.

search function

Video conferencing and screen sharing

Video conferencing helps loop remote colleagues into the conversations and decisions taking place and share information more efficiently. So, work gets done faster. If you need to show your piece of work, you can share your screen.

Video conferencing and screen sharing

Video conferencing

Integrated file sharing

You can drag-and-drop files directly into Slack to quickly receive feedback on your work.

Slack chatbot

Slackbot can help find answers to your questions about Slack, add customized automatic responses or access personal reminders and tasks.

Slackbot

How to Build your chatbot on Slack?

Slackbot

What is the tech stack behind Slack?

We’re not going to cover all the steps you can do to build a messaging app like Slack here because that would be a lot of stuff to cover. Instead, we will describe which tools and technologies can be used to create a Slack app clone.

How to Build a Slack App Clone

The Slack system consists of:

  • The web app has been written in a mix of JavaScript and ES6, with React. To send it as a desktop app, Electron has been utilized.
  • Android app has been built as a combination of Java and Kotlin.
  • The iOS app has been written in a mix of Objective-C and Swift.

On the server-side, developers have utilized core application which powers slack.com and Slack API, which is written in PHP/Hacklang running on HHVM. All the data has been stored in MySQL using the Vitess database clustering system.

Slack uses Memcached and MCRouter as core components of cache infrastructure. Its search service is based on SolrCloud, with various Java services for ranking.

A real-time messaging system is composed of various services written in Java and Go. Originally Slack used WebSockets to transfer all of the users’ messages.

Slack adopts HAProxy’s native integration to automatically configure the load balancer with service discovery data from Consul. Most of the services talk to each other over gRPC, though Slack has some Thrift and JSON-over-HTTP too.

Slack’s voice and video calling service are built in Elixir. A few different services are also written in Node. An async task queue system is built on Kafka and Redis.

A data warehouse is built on Presto, Spark, Airflow, Hadoop and Kafka.

For server configuration and management, Slack utilize Terraform, Chef and Kubernetes. It uses Prometheus for time-series metrics and ELK for logging. Slack is largely hosted in AWS, in many regions worldwide.

Security at Slack

Security at Slack
  • Compliance to various security standards.
  • Native mobile security controls
  • Single-sign-on via industry-standard authentication protocols.
  • Two-factor authentication.
  • Encryption of data in transit and at rest.
  • Integration with DLP, EMM, eDiscovery, and archival partners.

So, this should have satisfied your curiosity. If you want to receive a full tech stack for an app like Slack, please do not hesitate to contact us at info@vironit.com. Now let’s take a closer look at app monetization, development time, and cost.

How does Slack make money?

Slack adopts a freemium model to burst its business while engaging new users.  The limitations of a free account don’t affect the user as they start using it. But once Slack becomes an essential part of their workflow, users can upgrade the app to get advanced functionalities.

freemium model

Slack combines the free model with a direct sales force to acquire enterprise customers with yearly recurring revenue of over $100k. Those customers were 575 in 2019, and they accounted for 40% of its revenues.

free model

How Much Does Slack Cost?

We scoped out a Slack MVP to see how much it would cost to outsource development. The total project timeline for front-end and back-end, depending on the scope of your requirements, can vary from 5,975 to 7700 hours. The total cost comes out to around $285,376 in total.

Task Slack Android MVP Slack iOS MVP Slack Windows MVP Back-end Part
Development $34,524 $44,100 $58,548 $86,520
UI/UX Design $5,760 $8,640 $8,640
Project Management $2,952 $3,780 $5,004 $7,416
Quality Assurance $2,952 $4,108 $5,016 $7,416
Total Slack cost $285,376

VironIT’s team would be happy to provide more accurate cost estimates based on your project specifications and outline the different content production options available.

Contact us today for an intuitive and fast messaging app solution for your business or enterprise as well as for messaging app solution.

Please, rate my article. I did my best!

1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 5.00 out of 5)
Loading…

3 responses to “How to Create a Messaging App Like Slack?”

  1. Jessica Watson says:

    Reply

    What a fantastic post!!
    I just read this post. It provided me a clear understanding of how to create an make an app like Slack. Really a piece of good information you have shared which is very helpful for all developers. I appreciate the fact that you have explained all the information in a simple manner.
    Thanks for sharing such a valuable post.

  2. Zackary says:

    Reply

    Hey, thank you for the article. This is useful, especially for me just starting to build a messaging app. You’ve given some great food for thought, so I’m going to be trying out the value-add ideas you’ve shared here.

    But first, let me ask you some question about. My goal here is to build a scalable slack like chat app in less than 3-4 months.

    1. What’s the communication protocol used by Slack?
    2. Also, I am a bit confused about how does slack make money? I heard that their model is different from those of other companies: if there’s no activity for a certain period of time, there is no charge.

    Thanks in advance!

    • Darya Tryfanava says:

      Reply

      Thank you.
      1) Slack uses a custom protocol of JSON objects sent via a Real Time Messaging API. It also supports other protocols like IRC and XMPP.
      2) Slack primarily makes money selling annual or monthly subscriptions to large organizations. It combines a self-service go-to-market approach to attract non-paying users. At the same time, it uses direct sales efforts to growing the paid users within larger organizations. Slack generated more than $400 million in revenue in fiscal 2019, representing an 82% increase from the previous year.

Leave a Reply