Inspiration

Taskerbot has been essential for hundreds of Reddit communities for years. But it runs on servers that go down, requires OAuth credentials to manage, and is painful on mobile. We built FlairGuard to give every Taskerbot community a permanent home on Devvit - zero server, zero downtime, one-click install.

What it does

FlairGuard adds "[FlairGuard] Remove with reason" to any post's overflow menu. A moderator clicks it, picks a removal reason from a dropdown, optionally adds a note, and hits Remove. The app automatically:

  • Removes the post
  • Posts a sticky distinguished comment with the removal reason
  • Applies the correct flair to the post

All in under 5 seconds. Removal reasons are configured in the subreddit wiki using the exact same YAML format as the original Taskerbot - zero reconfiguration needed for existing communities.

How we built it

  • Devvit 0.12 - menu item and modal form UI
  • js-yaml - parses the wiki config (same format as original Taskerbot)
  • Redis - passes removal context between the menu handler and form submission handler
  • Reddit API - removes posts, submits distinguished comments, sets flairs

Challenges

Devvit's menu handler and form submission handler run in separate execution contexts. We solved this with Redis keyed per user with a 5-minute TTL, so the post context is always available when the mod submits the form.

We also found that forUserType: 'moderator' has a rendering inconsistency in Devvit 0.12 on the author's own posts, so we implemented an explicit moderator check via the getModerators API as a reliable fallback.

What we learned

The wiki-based configuration approach is elegant, mods get full control without a separate settings UI, and communities already using Taskerbot need zero reconfiguration.

What's next

  • !ban support (ban user with custom reason)
  • Mod log integration (write removals to wiki log like the original)
  • Multi-subreddit batch install support

Built With

Share this project:

Updates