Managing multiple related communities can be a tedious chore. When a bad actor is banned in one subreddit, they often migrate to allied subreddits to cause the same trouble. We were inspired by the need for moderators of clustered communities (like a main game subreddit and its competitive counterpart) to seamlessly share ban lists without relying on complex external bots.

We built Cascade Ban using the Devvit framework. The app leverages Custom Posts to provide a rich UI Dashboard for moderators, allowing them to manage linked subreddits and review pending cascade requests. It also utilizes Devvit's native event triggers, so that if a moderator bans someone using the standard Reddit UI, the app automatically intercepts the action and proposes the ban to allied subreddits.

One of the main challenges was dealing with asynchronous synchronization across subreddits and ensuring that infinite loops didn't occur during cross-bans. We solved this by maintaining a robust state model using Devvit's Redis datastore to track Pending, Approved, and Rejected requests along with a clear audit trail.

We can mathematically express the effort saved. If $N$ is the number of bad actors and $M$ is the number of allied subreddits, the manual moderation effort scales as $O(N \times M)$. With Cascade Ban, the effort is reduced to $O(N)$, saving significant time for volunteer moderators!

Built With

Share this project:

Updates