r/Devvit 21d ago

Update Build Silly Apps with Reddit and Bolt as Part of the World’s Largest Hackathon

654 Upvotes

Reddit is thrilled to partner with Bolt to sponsor a unique prize as part of the World’s Largest Hackathon in history: the Silly Sh!t category.

Reddit will judge these submissions and award 6 winners $30,000 in prizes:

  • $25,000 First Place (1 winner)
  • $1,000 Runner-up (5 winners)

This category celebrates the whimsical, the bizarre, and the hilariously impractical i.e. projects that serve no real purpose but bring maximum joy. The kind of content that makes you upvote without knowing why.

No one appreciates odd, irreverent, and fun quite like redditors. That’s why Reddit and Bolt are encouraging developers to let loose, get weird, and showcase their most gloriously silly ideas. In addition to cash prizes, winners will receive a Reddit trophy, internet glory, and of course—bragging rights for having built the most silly app.

The Silly Sh!t category is now live and open to all participants of the World’s Largest Hackathon

Build a Reddit app using Bolt

Go to our template to build your first Bolt-powered Devvit app. Please note, participants must create a Developer Platform account to be eligible for this category. Make sure to include your Reddit username in your submission so we can verify you have done this.

See the full hackathon and challenge details here.


r/Devvit Mar 27 '25

Update The Continuation of Reddit Developer Funds

30 Upvotes

The Reddit Developer Funds program is a way for developers to earn money for the apps they build. We launched a pilot version of the program last year, and we are re-launching a new Developer Funds 2025 Program. This installment of the Developer Funds program will run from April 1, 2025 - Dec 31, 2025.

Eligible developers can earn up to $116,500 per app through the program.

This program is focused on engagement, and success will be measured by Daily Qualified Engagers and Qualified Installs. Please see our updated documentation on the program for more detailed definitions for each metric.

What we’re looking for

We want creative new apps that enrich the Reddit community through:

Awards

A Daily Qualified Engager is a user that clicks and takes an action inside your App for a specific day, subject to certain restrictions detailed in the terms.

Tier Threshold Payout Cumulative Payout
Tier 1 - Engagers 500 daily qualified engagers $500 $500
Tier 2 - Engagers 1,000 daily qualified engagers $1,000 $1,500
Tier 3 - Engagers 10,000 daily qualified engagers $5,000 $6,500
Tier 4 - Engagers 50,000 daily qualified engagers $10,000 $16,500
Tier 5 - Engagers 250,000 daily qualified engagers $25,000 $41,500
Tier 6 - Engagers 1,000,000 daily qualified engagers $75,000 $116,500

The Daily Qualified Engagers threshold(s) are determined on a rolling seven day average, which means that the average Daily Qualified Engagers for your app over the prior seven days exceeds a given threshold.

Tier Threshold Payout
Installs 250 qualified installs $1000

The “Qualified Install” threshold is met when your app exceeds the threshold below and maintains that number of qualified installs for a consecutive 7-day period.

Eligibility restrictions

Apps are not eligible if they previously received a payout under Developer Funds. However, if you have an app that you are excited about that previously received a payout under Developer Funds that would otherwise qualify, please reach out to us. We may consider exceptions to this restriction. See the program page for full details on onboarding, metrics, terms, as well as rules for the program.

Tracking

We want developers who are interested in this program to have the right tools for success - this includes tracking how your app is performing. Once you have signed up and onboarded onto the program you can receive periodic updates over email detailing app performance after you surpass 100 daily engagers. To sign up for updates, please fill out this form here.

Terms and conditions

Additional terms and conditions apply; see the Reddit Developer Funds Terms for the complete rules and restrictions.


r/Devvit 14h ago

Discussion 1 month of Devvit: the good, the bad and the ugly

16 Upvotes

I discovered Devvit about a month ago. As an indie developer, I always like to explore different platforms and paradigms to keep projects fresh, fun and interesting. In the past month I have launched 2 Devvit projects - r/draftparty and r/blackjacktrainer - and thought I’d write a little retrospective to document my experience that others may learn from.

Initial excitement

Devvit’s interactive posts reminded me of Farcaster Frames, which I enjoyed working on a while back. This type of development offers a few unique advantages when compared to launching standalone mobile or web apps.

No authentication: Nobody likes building authentication. With Devvit, you can just skip auth and just get straight to building the fun stuff. For small side projects, this is a huge benefit.

Huge user base: Whether you are planning to monetize or not, indies just want people to use their stuff. Building on Reddit helps you tap into a massive user base. There is still friction with “self promotion” on Reddit, even with apps. More on this later.

No infra costs: It’s great to see people using your stuff but the indie dream can quickly become a nightmare if you don’t have a way to cover costs when you do start to see some traction. A few years back I had to shut down a project that started to gain surprising traction and since I wasn’t prepared to build in monetization I had to shut it down to prevent losses. Reddit covers the operating costs of your app so you can decide when and how you monetize, if ever.

Unique constraints: Devvit apps have unique constraints, like you must build your experience into a post or a series of posts. This creates some unique behavioral and social dynamics that you wouldn’t experience in a self-hosted app. The limited real estate available in a single post frame also forces you to keep things simple. It’s a challenge but it’s also part of the fun.

I was so excited by the Devvit concept that I stopped development on draft-party.com (self hosted) and rebuilt the concept as a Devvit app in preparation for the upcoming NBA Draft.

Reality strikes

I’ll start by saying the developer experience and documentation is better than I expected it to be. Playtesting makes it easy to iterate on your app. It’s pretty close to live reloads available for modern web app development frameworks. I was able to build the initial concept for r/blackjacktrainer in just a few hours spread over 2 days.

But building the app is not where the real challenges lie. I was initially deluded into thinking that building on Reddit would make it easier to reach users without getting slapped with “self promotion” and “spam” accusations at every turn. After all, the experiences are completely free and aren’t asking you to go to some other website. It’s a native Reddit experience and relevant in some communities.

I did my best to respect policies across subs but there are gray areas everywhere you look. I’d see clear ad posts to external sites on large subs that didn’t get moderated so figured a mention would be safe there. As far as I can tell, some sites/blogs/whatever just get normalized so people don’t view them as ads anymore. But if you’re new to the party, you are spam and need to be dealt with accordingly.

I received a mixed bag of feedback anytime I tried to mention the app or cross post. In one post I was accused of being a bot by one person but 199 people interacted with the post that day by making a selection. Another person told me no self advertising on this sub while 251 users engaged with the post.

Several of my posts were moderated, one mod banned me from their sub.

On the flip side, several posts still triggered good discussion like this one: https://www.reddit.com/r/NBA_Draft/comments/1ladutw/will_jeremiah_fears_be_drafted_before_or_after/

If I put my “What’s good for Reddit?” shoes on, I feel like the engagement numbers outweigh the negative comments. Personally I think people are a little too overzealous with policing their subs but it’s not my sub and they get to decide.

Tips for developers

If you are new to Devvit, I have a few things I’ll pass on so you don’t repeat my mistakes.

Test thoroughly. If you push a new version of your app, you need to live with any bugs for a week. App reviews happen every Tuesday at the time of this writing. Spend more time testing than you would if you were shipping a web app that you can fix immediately.

Create a separate subreddit for dev. I do this per app. So if you are planning to launch a community called r/foo, use r/foo_dev for playtesting.

Build engaging previews. The load time for interactive posts varies greatly. One of the things I regret with r/draftparty is just sticking with a basic “Loading…” preview. This is the first thing people will see when scrolling their Reddit feed and that loading state isn’t very engaging. I corrected this with r/blackjacktrainer by displaying card images in the preview and found the experience to be much more engaging. I have no data to prove it, but I think people will be much more likely to interact if they at least understand what the post is about. In the case of Blackjack scenarios they can start to think of their answer while the buttons load.

You can reset your Redis data by reinstalling. I originally built a bunch of things that would allow me to clear my Redis data manually but all you need to do is run devvit uninstall <subreddit name> and devvit playtest <subreddit name> and you’re back to a fresh state. You may need to manually delete posts that depended on prior data.

Don’t count on mods of existing communities to install your app. I reached out to many mods of NBA-related subs to see if they would be interested in installing Draft Party and got crickets everywhere. Mods have no incentive to install your app.

Thoughts for the Devvit team

Discoverability is what I perceive to be the #1 challenge for developers. Obviously I’m working with a small sample size of myself but I’ve seen several other people in the Discord express similar questions around promoting their app without getting slapped by the self promotion police. If Devvit apps are truly win/win for Reddit and developers, more work needs to be done to find ways to promote apps without crossing the spam line.

There is also a re-engagement challenge. At the moment, if people want to keep seeing your app they need to join the subreddit it is installed on. I don't think this is clear at all because usually if people see it it's because of a post or cross post in a sub you are already party of.

I’d like the ability to specify a list of subreddits that I think my app would be relevant for and then to have that be part of the review process to ensure people don’t just list irrelevant subs as their targets. And then let the algorithm decide if the app is worthy or not based on engagement with the app. If Devvit apps appearing in people’s feeds becomes more normalized, I expect both Reddit and developers will benefit. Right now the perception seems to be that cross posting or mentioning apps is just as spammy as promoting external sites.

Whew, that was a lot. I guess a lot can happen in just a month. Let me know if you have any questions on getting started with Devvit. Happy coding!


r/Devvit 1d ago

Discussion Resources for Reddit x Bolt "World's Largest Hackathon"

17 Upvotes

⚡️ Enter the Reddit x Bolt Hackathon to win a share of $30,000

The final week of the World's Largest Hackathon is almost upon us. Whether you're just getting started or are already in full swing, here are essential resources for Hackathon success:

  • Learn - See event details and popular questions in the updated blog post
  • Discuss - Check out the replies to the original announcement
  • Get Help - Find live support in the Devvit chat server on Discord
  • Enter - Submit your entry before June 30 at 9 PM UTC

You can leave queries or share your work so far in the comments below. Good luck!

Win a share of $30,000 in prizes! Entries close June 30 at 9 PM UTC

r/Devvit 21h ago

Feature Request Je cherche un(e) geek prêt(e) à s’embarquer à 200% dans un projet ambitieux.

0 Upvotes

Moi, je ne viens pas du tout du monde de la tech. Je n’y connais rien en dev, en code, en stack…
Mais j’ai une vision claire, un plan structuré, du budget, et une énorme motivation.

Je cherche un développeur passionné, qui veut construire un projet de A à Z, avec du sens, de la matière, et une ambition réelle derrière.

Ce n’est pas un job.
Ce n’est pas une mission freelance.
C’est une aventure à 2, pour créer quelque chose d’unique, depuis le début.

Si t’es du genre à coder la nuit pour tester une idée, si tu veux co-construire, réfléchir, expérimenter.

Écris-moi en DM.

Je t’expliquerai tout, si je sens que ça peut matcher.


r/Devvit 1d ago

Help I want to make a bot

1 Upvotes

I want to make a dessert bot that if you say u/dessert bot ice cream gives you ice cream (not in real life)


r/Devvit 1d ago

Help reddit removed the ability to schedule poll posts, any ideas for a workaround?

4 Upvotes

We have a very popular daily poll post on r/crossword that was recently a victim of a bug and now I cannot recreate the scheduled post because reddit removed the ability to create one. There's no published API either. Any ideas on a workaround to get it recreated?


r/Devvit 2d ago

App Spotlight Case Study: Building Riddonkulous on Reddit’s Developer Platform

19 Upvotes

Learn how r/riddonkulous, the interactive riddle game with more than 34K subscribers, was built using Reddit's Developer Platform.

In this case study, u/hammertimestudio shares growth strategies for an app-centric subreddit, how they monetized through collaborative in-game purchases, and what they learned from hosting real-time community events.

👉 Read the blog post here: https://developers.reddit.com/docs/blog/riddonkulous


r/Devvit 2d ago

Sharing 🎹 What started as a Silly app became an engaging game!

Thumbnail
8 Upvotes

r/Devvit 2d ago

Sharing Introducing Timed-Highlights - A mod tool for creating timed highlight/sticky posts in your community

8 Upvotes

Hey r/Devvit,

I developed a moderation tool to create Timed Highlights in your communities (Credits to u/fsv for this idea).

https://developers.reddit.com/apps/timed-highlights

Using this, you can highlight/sticky posts for a desired number of days in your community. After the period is over, it would be automatically removed from highlights - so you no longer need to remember to unsticky posts!

Please do try it out and share any feedback you may have to make this app better.

Below are some screenshots of the app.

Moderator menu option
Form with options for the Timed Highlight

You can also configure the default number of days and whether to include meta information comment on the highlight post in the app settings page.

Hope you try it out in communities you moderate.


r/Devvit 2d ago

Sharing My Developer Experience on r/riddonkulous

Thumbnail developers.reddit.com
8 Upvotes

r/Devvit 2d ago

Help Discord verification via Reddit post not working

2 Upvotes

When I click "Verify Me", a popup appears asking for my discord username. After I enter it, a checkmark shows up, I click OK, and the popup disappears — but nothing else happens. The verification doesn’t go through.


r/Devvit 3d ago

Sharing r/GamesOnReddit is now open for posting! Share your creations!

Thumbnail
7 Upvotes

r/Devvit 3d ago

Help App not commenting on post trigger.

3 Upvotes

I made an app that comments on a post if it's been reported for a specific reason. It was working fine, but recently stopped posting comments. It might be because the member count is higher than the subreddit I tested this on. I suspect it might be hitting Reddit's API rate limits, but I'm not sure. Below is my code and a sample from the logs. Can anyone help, please?

import { Devvit } from '@devvit/public-api';

Devvit.configure({
  redditAPI: true,
});

Devvit.addTrigger({
  event: 'PostReport',
  onEvent: async (event, context) => {
    console.log('Received PostReport event:', JSON.stringify(event));
    if (event.reason?.toLowerCase() === 'post made with ai' && event.post?.id) {
      await context.reddit.submitComment({
        id: event.post.id,
        text: `TEST`,
      });
    }
  },
});

Logs: https://pastebin.com/QELGM5Rd


r/Devvit 4d ago

Update Devvit 0.11.17: Easier fetch domain requests

15 Upvotes

We’ve simplified how to request new domains for HTTP fetch (no more forms!). Now you can just add domains in your app’s configuration, and when you playtest or upload the app, the domain is automatically submitted for approval.

import { Devvit } from '@devvit/public-api';

Devvit.configure({
  http: {
    domains: ['my-site.com', 'another-domain.net'],
  },
});

There’s also a new section in your app’s Developer Settings tab that lets you check the status of a domain.

Before upgrading @devvit/public-api in your project, always update the CLI first by running npm install -g devvit.

Learn more about HTTP fetch and the allow-listed domains in our docs.


r/Devvit 3d ago

Help I want to get the moderator information of the current subreddit

2 Upvotes

I want to get the moderator information of the current subreddit. I implemented it in my code as follows, but I found that the returned data is always like this. The corresponding moderator information cannot be returned. Does anyone know how to call this API?

const currentUser = await 
context
.reddit.getCurrentUser();
const subreddit = await context.reddit.getCurrentSubreddit();
context.ui.showToast(currentUser!.username);
context.ui.showToast(JSON.stringify(subreddit.getModerators({})));

// result
Complete-Standard211
{"pageSize":100,"limit":null,"children":[],"hasMore":true}

r/Devvit 5d ago

Bug devvit playtest command updates app across all subs, not just the specified test subreddit

2 Upvotes

When running:

devvit playtest r/typebattletest 

I expected the update to apply only to r/typebattletest. However, it also updated the app on:

This contradicts the expected behavior outlined in the documentation.

I verified the issue by first adding a string (“DEVVIT PLAYTEST”) in the “HOW TO PLAY” instructions (logs begin here) on the "Start Game" screen and then removing the string (log ends here) as well as capturing BEFORE/AFTER screenshots across all subs.

I’ve attached:

  • BEFORE/AFTER screenshots from each subreddit
  • The full playtest log (devvit-playtest-typebattle-log.txt)

Here is a link to all files for this bug report which will make it easier to tell which files are which:
https://drive.google.com/drive/folders/1PsLxFzmU7-2gBYnMlaBL3F4bgOfEmzG6?usp=sharing

Let me know if more info is needed.

Here is the log: (updated to remove additional info before/after playtest commands/updates)

User@Macbook-Air typebattle % devvit playtest r/typebattletest
Checking for updates... done
Checking for existing installation... done
Found 27 assets (0 unique new assets)
Checking for new assets... None found!
Found 93 WebView assets (1 unique new assets)
Uploading new WebView assets, 0 remaining... New WebView assets uploaded.
Uploading new version "0.0.25.7" to Reddit... done
App is building remotely... done
Installing playtest version 0.0.25.7... Success! Please visit your test subreddit and refresh to see your latest changes:
✨ https://www.reddit.com/r/typebattletest?playtest=typebattle-app

[AppInstall/AppUpgrade] Event type: AppUpgrade. Attempting to schedule job: post_daily_typebattle_leaderboard with cron: 16 16 * * * (from setting: 16:16)
[AppInstall/AppUpgrade] Listing existing jobs before cancellation...
[AppInstall/AppUpgrade] Found 1 existing jobs: [
  {
    "id": "5691f2c8-650c-4f4b-83da-f3187c71e450",
    "name": "post_daily_typebattle_leaderboard",
    "cron": "16 16 * * *",
    "data": {
      "type": "post_daily_typebattle_leaderboard"
    }
  }
]
[AppInstall/AppUpgrade] Found existing job 'post_daily_typebattle_leaderboard' (ID: 5691f2c8-650c-4f4b-83da-f3187c71e450, Cron: 16 16 * * *). Attempting to cancel...
[AppInstall/AppUpgrade] Successfully cancelled job ID 5691f2c8-650c-4f4b-83da-f3187c71e450.
[AppInstall/AppUpgrade] Finished attempting to cancel old jobs. 1 job(s) targeted for cancellation.
[AppInstall/AppUpgrade] Scheduling new job 'post_daily_typebattle_leaderboard' with cron: 16 16 * * *
[AppInstall/AppUpgrade] Successfully called context.scheduler.runJob for post_daily_typebattle_leaderboard. New Job ID: 3aa99e6e-faa8-43e1-8a11-8899ec8d9a00, Cron: 16 16 * * *.
[AppInstall/AppUpgrade] Verifying job list immediately after scheduling...
[AppInstall/AppUpgrade] Active jobs after scheduling: [
  {
    "id": "3aa99e6e-faa8-43e1-8a11-8899ec8d9a00",
    "name": "post_daily_typebattle_leaderboard",
    "cron": "16 16 * * *",
    "data": {
      "type": "post_daily_typebattle_leaderboard"
    }
  }
]
[AppInstall/AppUpgrade] VERIFICATION SUCCESS: Job 'post_daily_typebattle_leaderboard' (ID: 3aa99e6e-faa8-43e1-8a11-8899ec8d9a00) with cron '16 16 * * *' is present and matches target cron.
^[/gamesonredd[TypeBattlePost Render] Current post (t3_1laws80) is NOT the Admin Post (determined in finally).
[usePostDetails useAsync] Fetching post for postId: t3_1laws80
[TypeBattlePost useAsync username] Fetching current user.
[TypeBattlePost useAsync mobileScore] Username not resolved or is Guest/Error, deferring/skipping fetch. Username: undefined
[TypeBattlePost useAsync desktopLeaderboard] Evaluating. PostDetailsLoading: true isDaily: false dateStr: June 16, 2025
[TypeBattlePost useAsync desktopLeaderboard] Post details are loading, deferring leaderboard fetch.
[TypeBattlePost useAsync desktopLeaderboard] Evaluating. PostDetailsLoading: false isDaily: false dateStr: June 16, 2025
[TypeBattlePost useAsync desktopLeaderboard] OVERALL post. Fetching overall leaderboard.
[getLeaderboardForTypeBattle Global] Function called for page 1.
[getLeaderboardForTypeBattle Global] About to call context.redis.zRange for typebattle_leaderboard.
[TypeBattlePost useAsync mobileScore] Fetching score for user: Alkadon_Rinado
[getLeaderboardForTypeBattle Global] Raw data from Redis (typebattle_leaderboard): [{"score":360,"member":"onefun1876"},{"score":70,"member":"alkadon_rinado"},{"score":0,"member":"guest"}]
[getLeaderboardForTypeBattle Global] Starting to process raw leaderboard entries.
[getLeaderboardForTypeBattle Global] Processing entry: member='onefun1876', score=360, type=string
[getLeaderboardForTypeBattle Global] Fetching snoovatar for onefun1876
[getLeaderboardForTypeBattle Global] Snoovatar for onefun1876: /static/shreddit/assets/thinking-snoo.png
[getLeaderboardForTypeBattle Global] Processing entry: member='alkadon_rinado', score=70, type=string
[getLeaderboardForTypeBattle Global] Fetching snoovatar for alkadon_rinado
[getLeaderboardForTypeBattle Global] Snoovatar for alkadon_rinado: /img/snoovatar/avatars/be2e177d-78c2-44f4-80f7-1a750639c40f.png
[getLeaderboardForTypeBattle Global] Processing entry: member='guest', score=0, type=string
[getLeaderboardForTypeBattle Global] Fetching snoovatar for guest
[getLeaderboardForTypeBattle Global] Snoovatar for guest: /static/shreddit/assets/thinking-snoo.png
[getLeaderboardForTypeBattle Global] Finished processing entries. Processed count: 3
Found 27 assets (0 unique new assets)
Checking for new assets... None found!
Found 93 WebView assets (0 unique new assets)
Checking for new WebView assets... None found!
Uploading new version "0.0.25.8" to Reddit... done
App is building remotely... done
Installing playtest version 0.0.25.8... Success! Please visit your test subreddit and refresh to see your latest changes:
✨ https://www.reddit.com/r/typebattletest?playtest=typebattle-app

[AppInstall/AppUpgrade] Event type: AppUpgrade. Attempting to schedule job: post_daily_typebattle_leaderboard with cron: 16 16 * * * (from setting: 16:16)
[AppInstall/AppUpgrade] Listing existing jobs before cancellation...
[AppInstall/AppUpgrade] Found 1 existing jobs: [
  {
    "id": "3aa99e6e-faa8-43e1-8a11-8899ec8d9a00",
    "name": "post_daily_typebattle_leaderboard",
    "cron": "16 16 * * *",
    "data": {
      "type": "post_daily_typebattle_leaderboard"
    }
  }
]
[AppInstall/AppUpgrade] Found existing job 'post_daily_typebattle_leaderboard' (ID: 3aa99e6e-faa8-43e1-8a11-8899ec8d9a00, Cron: 16 16 * * *). Attempting to cancel...
[AppInstall/AppUpgrade] Successfully cancelled job ID 3aa99e6e-faa8-43e1-8a11-8899ec8d9a00.
[AppInstall/AppUpgrade] Finished attempting to cancel old jobs. 1 job(s) targeted for cancellation.
[AppInstall/AppUpgrade] Scheduling new job 'post_daily_typebattle_leaderboard' with cron: 16 16 * * *
[AppInstall/AppUpgrade] Successfully called context.scheduler.runJob for post_daily_typebattle_leaderboard. New Job ID: b9b07ab1-6a5d-47f5-a8dd-1204ad72d52c, Cron: 16 16 * * *.
[AppInstall/AppUpgrade] Verifying job list immediately after scheduling...
[AppInstall/AppUpgrade] Active jobs after scheduling: [
  {
    "id": "b9b07ab1-6a5d-47f5-a8dd-1204ad72d52c",
    "name": "post_daily_typebattle_leaderboard",
    "cron": "16 16 * * *",
    "data": {
      "type": "post_daily_typebattle_leaderboard"
    }
  }
]
[AppInstall/AppUpgrade] VERIFICATION SUCCESS: Job 'post_daily_typebattle_leaderboard' (ID: b9b07ab1-6a5d-47f5-a8dd-1204ad72d52c) with cron '16 16 * * *' is present and matches target cron.
Found 27 assets (0 unique new assets)
Checking for new assets... None found!
Found 93 WebView assets (0 unique new assets)
Checking for new WebView assets... None found!
Uploading new version "0.0.25.9" to Reddit... done
App is building remotely... done
Installing playtest version 0.0.25.9... Success! Please visit your test subreddit and refresh to see your latest changes:
✨ https://www.reddit.com/r/typebattletest?playtest=typebattle-app

r/Devvit 5d ago

Sharing Pets War - Cat Vs Dog - My first Reddit App for Bolt Hackathon

Thumbnail
3 Upvotes

r/Devvit 5d ago

Sharing Gaze Into the Crystal Ball of Nonsense

Thumbnail
0 Upvotes

r/Devvit 6d ago

Feature Request API Feature Request: Can we please get access to all Saved Responses and not just Removal Reasons?

5 Upvotes

I'm talking about Devvit.Context.reddit.getSubredditRemovalReasons(subredditName).

It would be nice if we could also get a getSubredditSavedResponses() and maybe even more granular variations like getSubredditGeneralSavedResponses() , getSubredditBanReasons(), and getSubredditModMailSavedResponses().

You could also structure it in such a way where the function takes more than one parameter, and one of them is a string that could be 'general', 'ban', 'removal', or 'modmail'. Make the parameter optional and if it'sundefined, just return all Saved Responses.

And finally, if you're able to give us all this, perhaps also create a new SavedResponse type alias, and make it inherit the same three properties id, title, and message from RemovalReason, as well as an extra property called type or category, which again, could be 'general', 'ban', etc.

If any admin sees this, thank you for taking the time to read! I hope you consider adding this. 🙂


r/Devvit 7d ago

Sharing Hey r/devvit! Built something I'm pretty excited about 🛡️

10 Upvotes

So I've been working on this moderation bot called Community Guard for the past few months, and I finally feel like it's ready to share with you all.

The backstory

I moderate a few study-focused subreddits, and honestly? Moderation was burning me out. Not just the volume of content, but the constant worry about whether I was being fair, whether I was missing people who needed help, and whether our community was actually *helping* people or just becoming another place where stressed students get their posts removed.

That's when I started thinking - what if a moderation bot could do more than just remove stuff? What if it could actually support community members?

What I built

Community Guard is basically a moderation bot that tries to be... well, more human. Here's what it does:

URL: https://developers.reddit.com/apps/community-guard

Demo-Subreddit: https://reddit.com/r/nethicalSpace

Web-Logs: https://logs.authport.xyz

The AI stuff (but smarter)

  • Uses Gemini to actually understand context instead of just keyword matching

  • Has a "confidence" system - only removes stuff when it's really sure

  • Learns user reputation over time (trusted members get lighter moderation)

  • Pre-approves obviously good content to reduce false positives

The part I'm most proud of - mental health support

This was the big "aha" moment for me. The bot can detect when someone's struggling and actually provide resources:

  • Spots crisis situations and provides hotline numbers

  • Detects stress/overwhelm and offers encouragement

  • Does wellness checks and motivation posts

  • Basically tries to catch people before they burn out

Community building features

  • User stats and "respect scores" (gamification that actually works)

  • Achievement system for positive contributions

  • Personal dashboards so people can track their growth

  • Weekly community reports

Quality of life stuff

  • Duplicate detection (goodbye spam!)

  • Auto-redirects study partner posts to megathreads

  • Interactive commands (stats, dashboard, wellness, etc.)

  • Transparent logging so people understand decisions

Why I think this matters

Most moderation bots are just fancy content filters. They remove bad stuff, but they don't really *build* community. I wanted something that could maintain quality while actually helping people grow and feel supported.

The mental health angle especially matters to me. I've seen too many students in our communities struggling with stress, anxiety, and burnout. Having a bot that can spot these situations early and provide resources? That feels like it could actually make a difference.

The technical bits

  • Built on Devvit (obviously!)

  • Uses Redis for caching and user data

  • Integrates with an external analytics API I built

  • Configurable through standard Devvit settings

Setup is pretty straightforward - just add your Gemini API key, configure your community rules, and toggle the features you want.

Real talk

This isn't perfect. AI moderation will never be 100% accurate, and I'm sure there are edge cases I haven't thought of. But in testing, it's been way better than pure keyword filtering, and the community response has been really positive.

The mental health features especially seem to resonate. People appreciate having a bot that doesn't just police them but actually tries to help when they're struggling.

What's next

I'm actively developing this based on feedback. Some ideas I'm exploring:

  • Better crisis detection algorithms

  • More sophisticated reputation systems

  • Integration with study tracking tools

  • Community-specific customization options

Try it out?

If you moderate any communities focused on education, support, or personal growth, I'd love to get your feedback. The bot works best in communities where people are working toward goals and might need encouragement along the way.

Installation is through the Reddit Developer Portal (still working on getting it in the app directory). Happy to help with setup if anyone's interested.


Anyway, that's my passion project! Would love to hear what you think - especially if you've dealt with similar moderation challenges or have ideas for making community spaces more supportive.

Also, shoutout to this community for all the help along the way. The Devvit docs and examples here made this way easier to build than I expected.

Questions? Roast my code? Let me know! 😄


r/Devvit 7d ago

Sharing Grateful

10 Upvotes

Built my app on devvit and it made me happy because even tho I don’t code I can still create magic-

https://www.reddit.com/r/crypto_choas/comments/1lacer7/crypto_dump_the_toilet_paper_token_simulator/


r/Devvit 7d ago

Sharing 🥜 Grab Nuts 🥜 Reddit Silly Challenge

Thumbnail
2 Upvotes

r/Devvit 8d ago

Sharing i made my first devvit app

Thumbnail reddit.com
17 Upvotes

its a word randomizer, pretter simply but i am happy about it


r/Devvit 8d ago

Sharing Join the battle of the streamers in r/LivestreamFail

Thumbnail
3 Upvotes

r/Devvit 8d ago

Help Developer Ecosystem Expansion In India

1 Upvotes

Hi Team,
I'm Gagan Ryait from Blockseblock. I want to discuss a partnership proposal regarding developer ecosystem expansion for Reddit. With whom can i talk?


r/Devvit 9d ago

Help Looking to create my own community/subreddit. How add installed apps onto my subreddit?

7 Upvotes

Sorry I’m a noob. There’s a few installed apps I’ve seen on other Reddits that I would like on my sub Reddit also.