Modern communication app
I started to use discord, when PUBG was in the Early access for what felt like a decade. Found myself a group of players who were
connected at least for 20-30% time during the day. A replacement for TeamSpeak, it initially felt like, later turned out to be the best communication platform, we currently have.
For teams, communities and groups of all sizes, discord presents itself as the best and most versatile platform. It has features and plugins that help with:
- Boost productivity (starting a little generic)
- Community Engagement toolkit
- Community Moderation toolkit
- Empower developers with commerce
- Automation flows using Bots
- Host digital meetups
- In-app premiums and merchandise (Like VIP lounges, special badges, etc)
- Embeddable sharable presence on the web
- Much much more…
A fun-loving and vibrant community of developers from the OS domain have chosen Discord as their HQ for discussion. There is no shortage of plugins and customizations that are possible on this platform.
How we used Discord
Our primary communication platform
We have created separate channels for developers, bot-testing, bug-reports.
We also have spawned a couple extra guilds over the years, both those are for the projects that successfully turned into products. This enables to use the discord guild as the primary support channel for the product as well. We can provide prompt response, the devs are always listening and the UI is amazing!
And we are not alone, there are a bunch of other amazing companies and startups we found we shared this choice with, to name a few,
- https://comma.ai/ - working on openpilot: open source driving agent
- Sentry - application monitoring, alerts and so much more
Discord webhooks for logging
Logs are important.
Discord webhooks enables me to push important events to our primary communication channel. KPIs like the following are always streamed to the team:
- How many devices are online.
- On every server restart.
- Product Checkout
- Social tag
Discord.js = Awesome Bots
Discord API are exquisite.
node.js environments means the web, and the web is everywhere.
This enabled us to build tools specific for on-ground operations. One nice example is the kaaroEvents bot we had to build manage our instaWend machines during the Events.
You can get your own bot up and running in minutes. I prefer Discord.js as I have gotten comfortable with idea of using JS for almost all compute needs. There are other alteratives in all possible languages, ranging from Discord4J a wrapper in Java to discordcr to build using Crystal!. Most widely used are Discord.js, DiscordGo, disco and discord.py.
Checkout the full list of community driven resources here: Community resources.
Also, if you find time, there is a bot I made named kaaroClips. You can add to your server using this Add kaaroClips to Server, Please do ping with feedback and/or anything regarding this bot on discord or Github.
How does discord work
So, as of this moment, on Discord, there are over
500M users of the platform.
There are over
20M active user on the platform.
100K active voice channels that are active with users.
100K bots active on the platform.
2B messages sent/received on the platform.
That is at this moment.
So what kind of infrastructure is required for this volume? How do they manage so many concurrent threads? And so smooth?
Well, it is the semantic web + JS Frontend Stack + Erlang based Exchange system
I tried looking up on the internet more about this infrastructure.
Well, most of it is
They are using Cowboy for Erlang.
Flask for REST APIs.
They used to use Cassandra, but are migrating to Scylla according to this Reddit thread on r/discordapp.
But these are just, tools, what make the product this amazing the the people, the people using it, the community, the developer forums, the executive team, are what makes it real. And they work efficiently because their communication is sorted ;)
One of the best products I have used.
What can you do we with Discord
Join a server
Discussion, Support and Issues
For general support and discussion of this project, please join the Discord server: Discord Invite Link
To check known bugs and see planned changes and features for this project, please see the GitHub issues.
Found a bug we don’t already have an issue for? Please report it in a new GitHub issue with as much detail as you can!