Building Discords and Community
A mini crash course
Do you happen to build or otherwise work on ML/AI models and systems? Do you also happen to write, blog, newsletter, stream, YouTube, give talks, trainings, or otherwise communicate about ML/AI practice in public or private? There’s a researcher who’d love to connect with you for a brief interview for a research project. I’ll leave more details at the end.
TL;DR: I made a Discord Server for data folk called “Approaching Significance” after our favorite name for p = 0.06. The goal is for data folk to gather and have a chill time with a 50/50 split between data talk and “other fun non-data talk” like hobbies, projects, games, etc. We’ve got >225 people already but please join and chat up a storm.
This week I’m going to write a bit about why I spun up Yet Another Chat Server when there’s obviously alternatives. I also want to share the process and things I keep in mind about building up these communities because I’m sure the knowledge will be useful to someone someday.
Why did you go make your own thing? That’s usually bad!
Very true! It’s a clear example of the xkcd Standards comic!
I know that Locally Optimistic has a pretty giant sized slack as part of their community that’s quite active. I’m technically on it but honestly if I hear that slack pop-pop-pop noise one - more - time, there will be blood on the walls. I also, slightly prefer Discord’s UX over Slack’s. That’s two reasons for me to go rogue.
But the main reason I wound up creating a server was because I specifically want a place for data people to chat about stuff that wasn’t just about data. There’s a place for “on-topic” spaces for discussions and I think a majority of people are drawn to that type of server, but I’m personally much more interested in having a place for everyone to be the actual multi-faceted humans that they are. After all, I think that there’s plenty of people who work with data who are more than happen to stop thinking about databases and code once the workday ends.
Plus, I work from home all the time and rarely go to conferences, I could use some friends!
How to put together an online community space from scratch
I’ve been messing around on the internet and managing niche communities like IRC rooms since the 2000s, and I also help run servers with over 10k people in them (most probably inactive). Over the years, I noticed that I’ve developed a kind of mental playbook for running things, but never really wrote them down. So I’m taking a stab at this brain dump. This is the stuff that works for me and of course your experiences will vary.
In my experience, here’s the list of things you need to be thinking about if you ever want to build up a community:
Have an theme/goal/some guiding principle
Figure out rules/hierarchy
Grow to a critical, self-sustaining group of people
Deal with the inevitable griefers
Have an theme/goal/some guiding principle
People tend to overthink this, but having some kind of clear reason for setting up a community helps in many ways.
Reasons don’t have to be particularly complicated — “I want to be have some fun with friends” can work just as well as some complicated manifesto. The only reason why you want some guiding principle is because that will determine how you make countless decisions later on.
In the case of our Discord server, the goal is to have a relaxed space for data folks to bring more of themselves. This means that we very deliberately don’t have channels marked as “off-topic”, and there’s no moderation rules about on-topic-ness. In fact, we emphasize the “not just data” aspect by having channels named for data talk, as well as for hobbies, and cute pet pictures.
It’s also an important way to help others understand why they want to join the server. Why should they spend their precious attention there instead of doomscrolling?
Figure out rules/hierarchy
Another thing that people tend to overthink early on. Having a 10 paragraph “bullet-proof” code of conduct is counterproductive for a group of 10, or even 100 people. No amount of rule-writing will ever absolve you of the need to make uncomfortable decisions about whether someone is disruptive or not. Own up to the fact that admins and mods are de facto dictators and do your best to become a benevolent one that commands the trust and respect of community members.
Communities, and the rules that govern them, are living things — they change and evolve as communities grow. For something starting out, simple trust-based rules and shared norms are usually sufficient. In-depth rules and enforcement policies only become relevant later when there’s more activity than moderators can monitor.
In our Discord, we have a very broad set of simple rules:
Being a jerk will not be tolerated
Debates/arguments are fine, but stop if anyone asks you to stop
Spamming/harassment/and other forms of griefing will result in warnings or bans
It’s admittedly very open to interpretation what these rules mean. The users of the server are putting their trust in the moderation team to enforce them in a way that’s beneficial to the community. That’s part of the responsibility of running these communities.
Either way, as things grow, expect these to grow and respond to the people who make up the community. Because no matter how things start, the rules will eventually shift to reflect the norms that the community builds up within itself. It inevitably has to be this way if the community is going to sustain itself.
I feel the establishment of social norms, is the hardest and longest part.
The norm of being active
Jumpstarting a new online community is hard because online communities are, with rare exceptions, completely optional. This means your number one enemy is the force of habit, or more precisely, the complete lack thereof.
While there might be a couple of hundred (or even thousands) of people who are connected to a given Discord or Slack instance, only a handful of people are typically active at any time. With a small group of people and everyone else aren’t in the habit of checking the chat, it’s very easy for no one to speak and for people to develop even a more reinforced habit of not visiting and participating because the server “looks dead”.
It’s the job of the establishing members, both the admins AND all the regulars, to fight this potential death spiral. How? By establishing the norm that “talking on here is normal, checking up on here regularly is normal, because there’s usually something interesting to make it worthwhile”.
In practice this means I’m the most talkative person on the server right now, filling gaps and posting bits of conversation starting material (like links or random conversation prompts) to try to jump start conversation. Hopefully other people takes up the offer and joins in. Depending on luck and just who is around, this can be a very long process.
Eventually, the idea is that people will get used to having good conversations without any prompting on their own. Then I can fade to the background and only participate at more normal levels. But in the beginning, unless you can drag in an established set of people willing to talk amongst themselves independently, someone has to put in the work.
Norms of behavior
Establishing a norm of participation is just the start of it. You also have to establish norms of expected behavior and what to do when people violate the norms. As communities grow, there will always be the occasional bad actor and the community needs to have a shared understanding of what to do when it happens.
One way is to just have the moderation team be at the forefront and handle most issues as they arise. The norm is to have people report trolls and offenders, and the mods have the task of handing out warnings or outright kicking/banning people. This is adopted by many groups all over, because mods are usually the ones with the power to kick/ban people anyways, so it seems obvious to let them deal with problematic people.
Norms around booting jerks
But another way, and my personal preference, is to have have the community build up norms of self defense against trolls. Ostracization, the act of a society choosing to exclude a person from society, can an extremely powerful social weapon on the internet. Back in my IRC days, we rarely had to lock the chats against trolls because all the regulars would either ridicule or ignore trolls to the point where the trolls would get bored and self-ban themselves and never return. Having a mod just dish out bans constantly tended to be ineffective because trolls that felt they were successful could constantly spin up more IRC connections in a game of whack-a-mole.
Other similar forms of social control around inappropriate content and bad behavior are much easier to scale and sustain over time. Mods can’t be around 100% all the time, after all. I generally feel it is healthier for group to be able to defend themselves when necessary.
Obviously, the above has to be done in moderation. Mob rule can get extremely ugly if left unchecked. But if the mods consistently give public warnings about poor behavior, or encourage good responses from the community, the norms tend to make the community stronger as a whole because everyone plays a part in maintaining it.
Grow to a critical, self-sustaining group of people
You’d think that “GET MORE MEMBERS!!!” is critical for community success, but it’s honestly much lower on the list. Two people are all that’s needed to have a good conversation. Having 10-20 regular members who all talk to each other can sustain itself for decades under certain conditions — I have a group of personal friends from IRC around that size and we’ve known each other for over 15 years now. Having a thousand people on a server all idling doesn’t really help the long term sustainability of the group as a whole.
The actual goal is have a core group of active folk. Only a tiny fraction of people who join wind up being active and sticking around. Having a big recruitment funnel is essentially just a way to sift through to that core active group. But once that small group of regulars is established, it gets progressively easier to snowball into a larger group. Social activity begets social activity.
That said, once the group becomes more established, you still want to make sure that there’s a steady influx of new people coming in to counterbalance attrition from members leaving the community for whatever reason. All societies have to wrestle with people joining and leaving eventually.
Deal with the inevitable griefers
As I mentioned earlier, rules and norms are put in framework for dealing with griefers and trolls and other bad actors before they arrive. With enough popularity, and the internet being what it is, bad actors will inevitably come and you’ll need to deal with them. Being prepared for it makes it easier.
Typically, the rule of thumb is that you want to avoid letting toxic people stick around. One toxic troll can quickly drive away tons of community members that you’ve spent so much effort into retaining. Life is too short to have to deal with toxic people, and everyone on the server deserves a toxin-free experience.
It’s largely up to you to figure out how policies will be enforced but my opinion is that obviously toxic behavior is worthy of an instant ban with no warning nor hope of appeal. They know what they were doing and there’s no need to have a discussion about it.
As you move down the sliding scale to less objectionable (but still bad) behavior, you can switch to giving out temporary kicks, or warnings. It’s entirely up to you where and how you draw the line. Just remember that everyone around is watching how you deal with such issues. It goes into establishing and maintaining social norms.
Finally, if the server has been humming along for a period, people are joining and talking amongst themselves, you can then start dedicating energy into scaling out the server so that it’s less of a one person management project. The exact timing for this depends on just the natural dynamics of the community. A fast growing one will need it sooner than one that grows at a leisurely pace.
First is to get some bots to help automate some of the most obviously bad behavior. There’s lots of moderation bots that can automatically stop people from spamming too many links, images, @mentions, zalgo text, etc.. There’s usually very little reason a legit user will hit upon some limits in that sort of behavior, so it’s a low effort way to keep things calm.
Even with robots helping out, you’ll eventually need an actual human moderation team — people that you trust to enforce rules and mete out punishment as needed. Since this is effectively unpaid volunteer work, you’ll want people who opt into the extra responsibility. At the same time, they have to be aligned with the overall goals of the server — the internet has plenty of cases of horrific drama caused by moderators. It’s a tricky balance. In the end, you ideally want a few people who can cover every time zone of the globe because no one wants to have toxic troll around for hours until a morning hits a mod’s time zone.
As part of scaling out the moderation team, you’ll find that you need to clarify the rules much more. This is where vague simple rules become formal codes of conduct with bright line cases. Unless you’re an experienced lawyer or lawmaker, setting policy is hard and mistakes will be made. Focus on building a shared understanding of the “spirit of the law”, so that mods can make good interpretations of the rules and suggest clarifications. Mods are effectively chat server judges and you want them to largely agree.
Then, as you figure out the rules, you should be thinking about mechanisms to continue growing the userbase. Finding ways to get more uses typically involves finding ways to get word of the server out with either events or other forms of publicity. The reason is because due to natural attrition of members over time, there always needs to be a steady trickle of new folk in to keep things going over the long term.
Fade out (to becoming a normal user)
Finally, if you manage to get all this working, you can finally fade away into the background more and more.
Early on, being the nominal “owner” of the community infrastructure effectively means you care about the success of the endeavor more than any one else on Earth. But slowly, if things work out, you can get other people to care about the community even more than you. They’ll figure out ways to improve things and maybe it takes on a life of its own.
Not every community will (or should) get to a point of becoming its own thing, but there’s also no telling at the very beginning. All we can do is try and see what happens.
That research project I mentioned at the top
I was connected to John Gallager (twitter) at University of Illinois, about my writing about AI/ML since I write this data newsletter. I don’t fit the profile of person they’re looking for since I never really build AI systems, but maybe you do. If you’re interested, please reach out to him. This is his description of the project:
This project researches the communication practices of machine learning (ML) scientists and artificial intelligence (AI) researchers. The goal of this research project is to identify and describe how data scientists, programmers, and researchers write, talk, and communicate about ML and AI. In particular, I am interested in the detailed practices of researchers and practitioners rather than popular marketing-friendly depictions of ML and AI. If you are willing to participate in an initial interview, my email is email@example.com. Interviews tend to last about 30 minutes and can be conducted by phone or video chat (e.g., zoom). In my experiences, these interviews are often helpfully generative, allowing participants to reflect on their writing practices
About this newsletter
I’m Randy Au, Quantitative UX researcher, former data analyst, and general-purpose data and tech nerd. Counting Stuff is a weekly newsletter about the less-than-sexy aspects of data science, UX research and tech. With excursions into other fun topics.
Curated archive of evergreen posts can be found at randyau.com.
Join the Approaching Significance discord server and be active! The goal is to have 50% data talk, 50% “other fun non-data talk” with other data practitioners.
All photos/drawings used are taken/created by Randy unless otherwise noted.
Supporting this newsletter:
This newsletter is free, share it with your friends without guilt! But if you like the content and want to send some love, here’s some options:
Tweet me - Comments and questions are always welcome, they often inspire new posts
A small one-time donation at Ko-fi - Thanks to everyone who’s sent a small donation! I read every single note!
If shirts and swag are more your style there’s some here - There’s a plane w/ dots shirt available!