This is part one of a series outlining how we at Truffle use Discord as our primary internal (and external) communications platform.

  1. Chuckle - our in-house Discord bot
  2. Layout - how we organize our "departments" (coming soon)
  3. What you won't get with Discord (coming soon)

But first, who are we?

Truffle is building infrastructure for content creators. We solve the problems YouTube and Twitch won't.

We have a browser extension that modifies YouTube and Twitch to be better for creators and their viewers. Many of the top streamers on YouTube and Twitch use Truffle.

Why use Discord?

Most companies use Slack or Teams – not us! Not just for funsies, though. We tried Slack and didn't really enjoy it.

All of our communications with customers is done through Discord, not Slack. Most large streamers have public Discord servers where, not only can we leverage all their staff being in one place, we can also work with their user base for testing, feedback, and even support.

Additionally, and this is subjective, we prefer Discord's user experience and interface. Yeah, it's not professional like Slack, but we like that. We work with content creators and their communities – and they are entertainers and likely not worried about appearing professional. Additionally, with Forum Channels released in Q4 last year, the switch was really solidified for us. We'll discuss how we utilize Forums in Part 2: Layout.

Fixing Discord shortcomings with Chuckle

Discord is great, but it wasn't built for companies, so we needed to build some functionality on top of it. Fortunately for us, Discord has a great developer platform that continues to improve.

So, we built Chuckle, our open-source in-house Discord bot, with commands and functionality that replace some Slack apps we would have used.

What Chuckle Fixes

It started with /hexil, a command allowing our staff members to set a custom display color, because why not?

Carter, setting their role color to #57F287 (green)
Carter, setting their role color to #57F287 (green)

Forum Post Logs

We were having issues with folks being late to the party on all-hands brainstorming and reviews. Keeping a log as threads are opened ensures we have one central place listing every thread that you should view when you get back from holiday, or the dentist, etc. This feature was especially easy to build with Discord's THREAD_CREATE Gateway event.

a feed of our #forum-log channel
a feed of our #forum-log channel

Pull Request Reviews

Since all our planning and discussions are already on Discord, it makes sense to incorporate our PR review process into our thread system. We found Axolo, pretty much exactly what we were looking for, but it was only available on Slack.

So, we built our own simple solution. We use GitHub Webhooks to receive pull_request_review_comment.created events and repost them to a Discord thread, which we configure with /pr-comments.

Cameron configuring #Onboarding to receive updates from chonk (our monorepo) PR #113

Then, whenever a new PR Review Comment is created, Chuckle will feed the comment into the above-configured channel.

Sooner than later, we'll add a connection with a GitHub App, so there can be a two-way sync between our GitHub and Discord threads.

Circle Back

This has been a recurring theme – keeping all our operations and features on Discord. So, with Circle Back, Chuckle will remind us to circle back to a message after a certain amount of time.

Once the time runs down, Chuckle sends you a DM, reminding you to revisit the message.

Other problems we can solve

Given how Chuckle is set up, it's incredibly easy to add more features and commands as needed. Do you have any ideas?

Open Source

We're not sure how many other companies are using Discord instead of Slack, but if you are, or thinking about making the switch, we open-sourced Chuckle so you can reap the same benefits :)

Next Time

In the next article of this series, we'll talk about our Discord server layout, and what we do to make working more enjoyable.

How we run our startup on Discord - Part 1: Chuckle

Most companies use Slack or Teams – not us!