Inspiration

I got this idea while moderating my subreddit. It was really tedious removing so many comments & posts for the same reason. I knew this could be done much faster.

What it does

KeyModerator is a Devvit key binding mod tool for subreddit moderators. It loads the community mod queue and subreddit post listings so mods can approve, remove, lock, flair, distinguish, mark NSFW or spoiler, sticky posts, ignore reports, adjust crowd control, mute, ban, and add mod notes on posts and comments ALL through simple keyboard clicks

How we built it

We built KeyModerator on Devvit Web (@devvit/web, @devvit/server 0.12.x):

React + TypeScript client (Vite), with hooks for the queue, keymap, and feed list
Hono API on the Devvit server for mod actions, queue loading, user lookup, and AutoMod endpoints
devvit.json for permissions (moderator-scoped Reddit API, Redis, scheduler, AutoMod filter triggers, subreddit menu entry)

Challenges we ran into

Attribution: Devvit mod APIs run as the app account, not the logged-in mod. We worked around that by writing structured mod notes that record who initiated each action. API shape: Queue items come from heterogeneous Reddit payloads. Report reasons, thumbnails, gallery previews, and parent-post context all needed careful normalization.

Accomplishments that we're proud of

A coherent keyboard workflow end-to-end, just shortcuts on top of buttons, but chords (Ctrl+1–9 for removal reasons, Ctrl+B then 1–9 for ban presets), command palette (Ctrl+K), and help (?). Rich queue context in one view: report tags, parent post snippets, user sidebar, and rules tied to removal mode. AutoMod integration: filter triggers logged to Redis, plus in-app config view/validate/edit.

What's next for KeyModerator

The app needs to give more context for each mod queue item without any clicks. They need to know the context of other comments, reports etc in the same thread as the flagged comment to make an informed decision.

Built With

Share this project:

Updates