Inspiration

Every Reddit moderator has been there: a banned user sends an appeal, and you have no memory of why the ban happened. The original post is deleted. The rule isn't written down. The mod who issued the ban is offline. So the appeal gets ignored, or reversed blindly.

This is the most common operational pain point for volunteer moderators across Reddit. No existing Devvit app solves it. ModOps was built to fix that.

What it does

ModOps captures every moderation action as a single event log and surfaces the right context exactly when moderators need it. Three workflows. Nothing else.

Ban Appeal Flow — When a moderator bans a user, ModOps records full context: original content, rule violated, and last 5 infractions. When that user appeals via modmail, an inline context card surfaces instantly inside the thread. One screen. One click to uphold or reverse. 10-minute investigation becomes a 3-second decision.

Removal Reason Flow — A custom "Remove with ModOps" menu item on posts and comments. Select the violated rule, a static template pre-fills, sends as a sticky comment in one click, and logs the action automatically.

Moderation Timeline — A pinned custom post showing a chronological feed of every ban, removal, and appeal. Mod-gated — non-mods see only a placeholder. Any moderator starting a new shift sees exactly what happened while they were away.

How we built it

ModOps uses a single event model. Every moderation action writes a ModEvent to two Redis Sorted Sets simultaneously — one for the subreddit timeline, one for per-user history. This dual-write pattern makes both the shift timeline and the appeal context card instant to render.

Everything runs inside the Devvit sandbox. No external databases, no third-party APIs, no configuration required. Works immediately after install.

Privacy compliance was built first: AccountDelete trigger wipes all KV records for a user instantly. CommentDelete trigger redacts stored content to [deleted]. Both are required by Devvit Rules and implemented before any feature code.

Challenges we ran into

The biggest challenge was modmail appeal detection. Banned users on new Reddit accounts cannot send modmail to subreddits they're banned from under certain configurations — making live end-to-end testing difficult. A simulation tool was built for development and the production flow documented clearly.

The second challenge was KV storage design. A naive implementation storing all events in a single JSON array key would hit the 5MB payload limit on any active subreddit within weeks. Switching to Redis Sorted Sets with ZADD and timestamp scores solved the payload limit and gave time-range queries for free.

Accomplishments that we're proud of

The appeal context card is the core accomplishment. What was a 10-minute manual investigation — digging through modmail history, finding deleted content, recalling previous infractions — is now a 3-second one-click decision with full context on one screen.

The Pure Devvit architecture is also something worth noting. Zero external dependencies means any moderator can install ModOps in under two minutes with no accounts, no API keys, and no setup. It works immediately.

What we learned

Building on Devvit taught me to think within constraints rather than around them. The 5MB per-key KV limit forced a better architectural decision. Privacy compliance had to be first, not an afterthought. The sandbox-first model produced a cleaner, more focused product.

The most important lesson: the most impactful mod tools are not the most complex ones. A simple context card showing three pieces of information eliminates an entire manual workflow moderators repeat dozens of times per week.

What's next for ModOps

v2.0: Clickable timeline items with full detail view and direct action from the timeline.

v2.1: Multi-subreddit support and cross-community moderator accounts.

v3.0: Learning from resolved appeals to surface pattern insights — which rules generate the most appeals, which bans get reversed most often, and why.

ModOps is built to grow with the moderation teams that use it.

Built With

Share this project:

Updates