Inspiration

Most moderation tools are reactive. A post gets reported, a thread spirals, users start fighting, and only then does the mod team get a clear signal that something is wrong. Ember was inspired by a simple question: what if a subreddit had a smoke detector?

Instead of waiting for one obvious rule violation, Ember watches several weak signals at once. A few more reports, faster comment activity, more removals, new accounts entering the conversation, and controversial posts may not mean much alone. Together, they can show that a community is heating up before it fully catches fire.

What it does

Ember is a proactive community heat monitor for Reddit mod teams. It calculates a live Heat Score from 0 to 100 using five signals: report spikes, removal surges, new-account activity, comment velocity, and controversy clusters.

When the Heat Score crosses the configured threshold, Ember sends a private modmail alert with the score, signal breakdown, and suggested actions. Mods can also create a pinned dashboard post that shows an animated radar strip, signal meters, operational status, trend data, action guidance, and score explanations.

Ember is moderator-facing only. It does not reply to users, judge individual users, or send data outside Reddit.

How we built it

We built Ember as a Devvit-native TypeScript app. Reddit triggers collect live activity from posts, comments, reports, and mod actions. Devvit Scheduler runs recurring scans, and Devvit KV Store keeps the rolling signal windows, latest snapshot, alert history, and dashboard history.

The Heat Score engine is pure TypeScript math. It combines the five signals into one score and maps that score into readable states: Cool, Warming, Hot, and Ember.

The dashboard is built with Devvit Blocks, with a small embedded WebView animation for the radar effect. Modmail is used for private alerts, and subreddit menu actions let moderators create the dashboard, refresh the score, switch panels, change themes, and inspect settings.

Challenges we ran into

The biggest challenge was making the dashboard useful and polished inside Devvit’s fixed-height custom post layout. We had to repeatedly tune the layout so it showed meaningful information without clipping, overflowing, or leaving wasted blank space.

Another challenge was designing a Heat Score that felt understandable. A single number is only useful if moderators can see why it changed, so Ember includes signal meters, panel views, and explanations instead of only showing an alert.

We also had to handle platform constraints carefully: no external APIs, no hosted backend, no CSS animation inside Blocks, and limited space for dense moderator information. The final design uses Reddit-native data, KV storage, scheduled scans, and a compact WebView visual layer.

Accomplishments that we're proud of

We are proud that Ember feels like a complete moderator tool, not just a trigger demo. It has a real dashboard, configurable alerts, automatic pinning, score explanations, visual signal breakdowns, themes, and private modmail alerts.

We are also proud that it is fully Devvit-native. It does not require a server, database, API key, paid service, or external AI model. A moderator can install it from Reddit, create a dashboard, and start watching community heat immediately.

Most importantly, Ember changes the moderation posture from reactive to proactive. It gives mod teams an early warning system before a situation becomes obvious to everyone.

What we learned

We learned that Devvit is well suited for installable mod tools that combine triggers, scheduled jobs, KV storage, and Reddit-native actions. The platform works best when the app is designed around actual moderator workflows rather than just background automation.

We also learned that dashboards need explanation, not just metrics. Moderators need to know what changed, why the app is alerting, and what action makes sense next.

Finally, we learned how important defensive design is in moderation tools. Ember must keep working even when a signal has no baseline yet, a Reddit API call fails, or a community has very little data.

What's next for Ember

Next, Ember could support per-subreddit signal weights so each mod team can decide what matters most. A politics community may care more about report spikes, while a niche hobby subreddit may care more about new-account floods or controversy clusters.

We also want to add per-thread heat drilldowns, richer historical charts, quiet hours, incident summaries, and optional digest reports. Longer term, Ember could help mod teams compare current activity against normal community patterns and spot unusual events even earlier.

Built With

Share this project:

Updates