How to Create an App Like Discord
- 10107 views
- 11 min
- Apr 22, 2021
Discord is a popular communication tool originally developed for gamers but now used by all kinds of communities, from K-pop fans to teachers and doctors. During the coronavirus lockdown, it experienced a surge in popularity, reaching 100 million monthly active users in 2020.
For those inspired by the success of Discord, we’ve compiled this handy guide in which we trace its evolution and explore its tech stack, features, and monetization model.
What is Discord?
Discord is a Voice over Internet Protocol (VoIP) application that resembles a mix of Slack and Reddit with text, voice, and video messaging features. The platform can be used on macOS, Linux, and Windows as well as in web browsers. A Discord application is also available for Android and iOS devices.
From its very beginning, Discord has enjoyed steady growth.
In 2015, when Discord just started taking off, Jason Citron, one of its founders, discussed what users liked about it.
Jason said Discord did have a few extra features that competitors didn’t, like browser support and DDoS protection. However, he said it was a combination of factors and the overall polish of the experience that helped. In Jason’s words, “We deeply, intuitively understand this product since we are the people we’re building it for.”
In 2021, it seems like the reason people choose Discord hasn’t changed. On the Why Discord? page, the company lists no specific advantages over rivals: there’s just a description of the overall experience and customer reviews.
At the same time, Discord does have some advantages over other communication platforms. For example, the freemium version of Slack limits the messaging history and imposes storage limits, while Discord does neither. Also, Slack doesn’t have push-to-talk functionality, which Discord does.
Let’s look at Discord’s functionality in more detail.
Built for people to communicate in private and public communities, Discord has powerful functionality. Here are the main features of this tool.
Servers and channels
Servers are spaces to communicate that are organized into channels, which are usually dedicated to specific topics and can have different rules.
There are two types of channels on Discord:
- In text channels, users can post messages, upload files, and share images for others to see at any time.
- In voice channels, users can connect through a voice or video call in real time.
In voice channels, there’s a background noise suppression feature introduced in 2020.
Much like other chat apps, Discord allows users to directly message others. An added feature is the ability to create message groups of up to 10 users.
Being focused on privacy, Discord allows users to have their direct messages scanned for explicit content.
Screen sharing and video calls
Discord introduced video calls and screen sharing in 2017. Initially, users could video chat with up to 10 people in a single channel. As of 2021, Discord increased this limit to 50 users due to the pandemic.
Using Discord’s Go Live screen sharing functionality, users can share an individual application window or their entire screen. In 2020, Discord made this feature available on mobile devices.
Discord integrates with many popular platforms so users can customize their servers. YouTube, Twitch, Patreon, Nightbot, Obs, and XSplit are among the popular tools supported by Discord.
Now let’s see how Discord earns money with its rich functionality.
How does Discord make money?
Unlike many of its rivals, Discord doesn’t make money from ads. Its founder claims consumers in general dislike ads and don’t want their data shared with brands. Instead, Discord has opted for the following methods.
Discord’s monetization efforts have always been focused on growing the subscription business. In 2021, Discord offers two paid plans:
- Nitro Classic. ($4.99 per month or $49.99 per year) — Users get basic chat perks like uploading a gif avatar and using custom emotes.
- Nitro. ($9.99 per month or $99.99 per year) — Includes features like higher video quality, server boosting, and a higher upload limit.
The subscription model seems to work well for Discord. In 2019, the company nearly tripled its revenue by selling subscription access to exclusive features.
Analysts say subscription-based models are attractive to tech investors because they provide consistent, and thus predictable, revenue.
2. Game store
Discord launched a game store globally in August 2018. Developers can self-publish their games on the Discord store. Once a game is sold, developers get 90% of the revenue, and Discord gets the remaining 10%.
3. Discord merchandise
For years, Discord sold merchandise like T-shirts, socks, hats, and scarfs. However, at the time this article was written (spring 2021), the Discord merchandise store wasn’t available. A dedicated page says it’s coming soon.
4. Funding and investment
Funding is not a monetization approach, however, it’s important to note that Discord is constantly raising money from investors. In 2020, it hit a whopping $3.5 billion valuation.
However, Discord’s way to success was never smooth. Discord encountered many challenges on the way, and so may you when building your Discord-like app. Let’s see how to deal with them.
Challenges of building an app like Discord
Maintaining privacy and security
If you wonder how to create an app like Discord, keep in mind that Discord is focused on privacy. Users’ IP addresses cannot be leaked because Discord routes all network traffic through its servers. This also prevents criminals from finding out users’ IP addresses and launching DDoS attacks against them.
If you’re going to build an app like Discord, be ready to handle moderation at scale.
Luckily, routing audio and video through your own media servers offers a way to do it, allowing administrators to disable the audio and/or video for offending participants.
Ensuring stability and speed
Discord allows 3 million concurrent voice users. For handling that many and ensuring speed and stability, Discord uses WebRTC. (This might be an option for you as well.)
The native WebRTC library allows for the use of a low-level API to create both a send stream and a receive stream. Hence, users can exchange a minimal amount of information when joining a voice channel. Moreover, WebRTC uses Interactive Connectivity Establishment (ICE) to determine the best communication path between participants. This allows us to provide a much more reliable connection.
Finding first adopters
When the MVP of your Discord-like tool is ready, you might need to find beta users to test it. Your strategy may include:
- Submitting your app on beta platforms. These platforms can be both paid and free. You may consider BetaTesting, Beta Testers Hub, and BetaFamily, among other resources.
- Posting on Q&A and social news websites. Quora, Hackernews, and Reddit can help spread the word about your product and attract early adopters.
- Sending out personal invitations to those who might be interested in your app. For this, social media can be used – mainly LinkedIn, but also Facebook and Twitter.
Finding your first customers
Placing the spotlight on a newly built product is a challenge, but there are ways to overcome it.
#1 Send emails
To take advantage of this approach, you’ll need to collect emails of potential customers. If you have a landing page for your Discord-like app, consider placing a signup form there. As an option, you can directly ask your early adopters for their email addresses.
#2 Create a blog
Сompanies that blog generate 67% more leads than those who don’t. Content marketing allows you to position your app as a leading source while also attracting organic traffic to your website. If you build a Discord-like app, try using keywords like “Discord alternatives” and comparing Discord to other tools.
#3 Post on social media
It takes more than a profile to succeed with social media marketing (SMM). What gives users a reason to follow your account is engaging and relevant content. Once you’ve attracted an audience, you can encourage them to stay by responding to their comments.
#4 Use paid search advertising
Paid search is a popular advertising channel for startups that allows business owners to buy targeted traffic. Google AdWords is the leading paid search network. Test this approach with a small budget and discover the strategy that works best for you.
To conclude, let’s talk about the most practical aspect of building an app like Discord and possible ways to do it.
Discord’s tech stack
Discord embloys a client–server networking architecture, which allows it to support large group channels. As Discord argues, using peer-to-peer networking would have been prohibitively expensive because there might be hundreds of people talking in large channels.
As already mentioned, Discord uses WebRTC – a specification for real-time communication that enables the app to work on numerous platforms and makes it possible for developers to reuse the code. Discord’s version of WebRTC, however, is customized. The iOS, Android, and desktop apps make use of a C++ media engine built on top of the native WebRTC library.
React and Flux make up Discord’s frontend web tech stack. As for the backend architecture, all of Discord’s signaling servers are written in Elixir. Also, Discord is using Rust in many places across its software stack, including for the game SDK and several backend services.
As you can see, the Discord tech stack is vast and diverse. However, you don’t need to use the same tools and technologies to build your VoIP app. Keep in mind that Discord was initially built for gamers, so some of its functionality can be redundant for your app.
If you are wondering how to create an app like Discord, your first and probably most important choice will be between creating a tool from scratch and choosing a ready-to-go solution. Let’s take a look at the pros and cons of these choices.
Create a proof of concept yourself
If you want to simplify the development process to the max, you could use Firebase for building the back end of your Discord-like app. Firebase is one of the most popular mobile development platforms that can help you implement authentication and a realtime database.
However, this can work only if you need to create a proof of concept that shows the viability of your app and gets investors’ buy-in. The functionality of this proof of concept would be very limited.
Build from scratch
Stanislav Vishnevskiy, the CTO and co-founder of Discord, claims the original version of Discord was built in just under two months. However, he doesn’t disclose how big the team was and what the MVP actually included.
In practice, building an app like Discord from scratch requires solid time and investment. If we’re talking about an MVP with basic features including voice and video calls, it’s unlikely to take less than six months unless you have a huge team ready to work around the clock.
Choose a pre-built solution
As an option, you can build a tool like Discord using a custom, full-fledged, pre-built solution.
This will allow you to create your app step by step, from idea to launch and finding the first users, while saving time and money.
The key advantages of a pre-built solution are the following:
- Get a product that has already been tested – no risks involved.
- Use out-of-the box features to boost engagement and user satisfaction.
- Scale your app gradually according to your goals and plans.
- Reduce your time to market thanks to pre-built components.
- Acquire a responsive and unique design for web and mobile apps.
Discord is a popular messaging application enjoying success due to its polished user experience and powerful communication features. Although its tech stack is strong and diverse, you can use alternative tools and technologies to build your Discord-like app. Creating one from scratch might be expensive and time-consuming, so it’s a good idea to use a pre-built solution tailored to your business needs.
Discord’s main features are servers, channels, direct messages, voice calls, video calls, live streaming, and integrations.
You can submit your app on designated beta testing platforms like BetaTesting, Beta Testers Hub, and BetaFamily. As an option, you can post about your tool on Q&A sites or social aggregator websites like Quora and Reddit. Finally, you can send out personal invitations to those who might be interested in your app. For this, you can use social media – mainly LinkedIn, but also Facebook and Twitter.
If you’re going to build an app like Discord, there are three basic ways to do it.
#1 Create a proof of concept yourself
You could use Firebase for building the back end of your Discord-like app. However, this can work only if you need to create a proof of concept that shows the viability of your app and gets investors’ buy-in. The functionality of this proof of concept would be very limited.
#2 Build from scratch
This is a long and strenuous way, as building an app like Discord from scratch requires solid time and investment. If we’re talking about an MVP with basic features including voice and video calls, it’s unlikely to take less than six months unless you have a huge team ready to work around the clock.
#3 Choose a pre-built solution
As an option, you can build a tool like Discord using a custom, full-fledged, pre-built solution. This will allow you to create your app step by step, from idea to launch and finding the first users, while saving time and money.
If you want to build an app like Discord and are wondering where to start,tell us about your idea so we can offer you the best solution.