r/Devvit Jan 09 '26

Welcome to r/Devvit

29 Upvotes

This post contains content not supported on old Reddit. Click here to view the full post


r/Devvit 17d ago

Update Release 0.14.1: Additional Source Roots and Post Search

Thumbnail developers.reddit.com
16 Upvotes

Release Date: August 17, 2026

Additional Source Roots

Add additionalSourceRoots to devvit.json to include source files outside your project directory in source packages submitted for review. This helps apps with unconventional builds, such as external source folders that compile into dist/.

additionalSourceRoots works with existing source ignore behavior, so you can include the extra root paths reviewers need while still excluding files covered by your ignore rules.

Post Search

Use reddit.searchPosts() and subreddit.searchPosts() to search for posts with a query and other search parameters.

Form Context Fix

context.postId is now defined in form submission handlers when a form is opened from a post menu item, matching the existing context.commentId behavior for comment menu items.

Wiki Deprecation Correction

Corrected the 0.14.0 wiki deprecation notice: reddit.getWikiPage(subredditName, pageName) remains supported. Only reddit.getWikiPage(subredditName, pageName, revisionId) is deprecated.

CLI Node.js Warning

The Devvit CLI now warns once during playtestupload, and publish if your local Node.js version is older than the supported version. The warning is informational and does not block the command.


r/Devvit 2h ago

Discussion Devvit User Analytics

1 Upvotes

Does anyone know of there is any way of building a user analytics tool that communicates with a particular app without using third party storage?

Specifically: for my game I built myself a custom analytics solution since Devvit Journeys didn’t offer the information I was looking for. But this custom analytics is using the same Redis storage as my game, so I would like to separate the two in different instances.

Any thoughts?


r/Devvit 6h ago

Help Redis patterns for daily leaderboards + a large per-day lookup table

1 Upvotes

First post here. I'm building a daily word puzzle as a Devvit app and I'd rather get the data layer right now than migrate it later with real player data in it.

For the daily leaderboard I'm planning a sorted set per day, scored by attempts, with time packed into the same number as a tie-breaker (attempts * 1e6 + secondsSinceMidnight). Ascending range gives the right order in one call. Is that what people do here, or is there a better pattern?

The part I'm less sure about is the lookup table. Each puzzle needs around 50,000 word/rank pairs, precomputed offline. One field read per guess, never a full scan. A single hash per day (ranks:20260904, roughly 600 KB) feels natural but I don't know if that size is fine in Devvit or if I'll hit a wall.

If a hash that big is a problem, what's the usual alternative? External endpoint, chunked keys, something else?

Also curious which Redis commands people have found missing when they actually needed them. Thanks.


r/Devvit 11h ago

Feedback Friday 2026-09-04

2 Upvotes

This post contains content not supported on old Reddit. Click here to view the full post


r/Devvit 9h ago

Feedback Request Feedback wanted for Planet Swarm feedback request! Don't hold back!

0 Upvotes

This post contains content not supported on old Reddit. Click here to view the full post


r/Devvit 19h ago

Feedback Request Introducing DejaRepost: A repost detector bot that actually watches the whole video

3 Upvotes

Hello moderators! I'm excited to introduce you to something I've been working on for the past month or so: DejaRepost!

Reposts are a moderator’s worst nightmare, and video reposts are especially hard to stop. Traditional bots only check a single thumbnail for video posts, so spammers easily bypass them by trimming a second, cropping the frame, or adding some frames to the beginning.

Change the video thumbnail, and the bot is blind.

To solve this, I built DejaRepost: A Devvit app that actually watches the whole video to catch video reposts (even if the reposted clip has been trimmed, cropped or re-edited), while also stopping image and text reposts.

How DejaRepost catches video reposts:

  • Instead of checking a single thumbnail, DejaRepost fingerprints one frame every second across the entire video.
  • Sliding Window Matching: DejaRepost doesn’t just catch reposts through strict frame-by-frame alignment: each frame is compared against a local time window of surrounding frames from the other video, so that trimmed, cropped, or padded versions of the same clip are still caught.
  • The fingerprinting is done using a perceptual hashing algorithm.

DejaRepost also catches image reposts (even if they’re cropped or altered!):

  • Images are compared using visual similarity algorithms rather than exact file hashes.
  • Crops, color shifts and other edits will not bypass detection unless the crop is severe.

Finally, DejaRepost catches text reposts by comparing their titles:

  • It uses lightweight hashing to instantly check post titles and text against past submissions, catching exact copies and stolen titles.

What happens when DejaRepost detects a repost:

  • It will report the post
  • It will send you a modmail giving you: the link to the reported post, the link to the past post it matched it with (evidence), and a confidence score
  • You can choose whether or not DejaRepost removes any reposts it detects (off by default, you can turn it on in the app settings)

DejaRepost requires almost no setup, no extra work from subreddit members, and all you have to do is watch the modmail as it detects reposts. It fits seamlessly into most subreddits, and it's perfect for video/image heavy subs.

Here’s the app link: https://developers.reddit.com/apps/dejarepost

Note: DejaRepost fingerprints your recent posts automatically in the background after install, so detection accuracy ramps up over the first little while.

If you have any questions or bug reports or feature requests, feel free to comment! I’m happy to help. 


r/Devvit 14h ago

Help client side showForm() won't work on iOS?

1 Upvotes

My app uses client side showForm() to collect data before creating a post. The form contains:

  1. An image field (required)

  2. A string field (required)

  3. A string field (disabled/read-only)

The form works correctly on Android and Desktop Reddit, submitted values are returned as expected. But, on iOS, the form always returns an empty values object. The submit action succeeds (action === "SUBMITTED"), but all field values are always reported as 'undefined' / {} before even hitting the server.

I tested some stuff out, like removing the image and the disabled string field, but no luck. iOS always returned an empty values object (values: {}). Android was fine.

Can somebody help me understand what is going wrong here? iOS users are unable to post anything through the app on my sub :'(


r/Devvit 1d ago

Discussion How to manage the costs of running an app?

4 Upvotes

I am working on building a utility app and have a functioning prototype. However, now that I've got something working, I'm going through the process of how much it would cost me to host the required files on a cloud provider like Supabase...and it turns out it would run me somewhere around $700 - $800 per month at least.

I know there are the Reddit Developer Funds which can pay out to certain apps, but expecting my app to be eligible or used enough to be earn funds isn't realistic. So, how do app developers offset their operational costs? Is there something I'm unaware of or do they just eat the cost themselves?

I really want to launch this app and think it could be very useful to users and mods, but I can't justify paying $10k a year for that.

Any suggestions/thoughts/questions are all welcome.


r/Devvit 1d ago

Duck Answered Domain Whitelist Rejected - Looking for reconsideration.

4 Upvotes

Hi r/Devvit team,

Requesting an exception for a personal-domain fetch permission that was rejected under your HTTP Fetch Policy's personal-domains default.

What the app does: gi-joe-bot is a single-subreddit reference bot for r/gijoe (a G.I. Joe collecting community). When a comment or post contains [[item name year]] or [[collection:username]], the bot resolves the reference and replies with a distinguished comment linking to the matching catalog item or public collection page.

This pattern is a long-established convention on hobby subreddits — e.g. r/magicTCG's MTGCardFetcher bot has done bracket-reference card lookups since 2013 — and gi-joe-bot is the same idea applied to r/gijoe.

Why this needs an external fetch, not a Devvit-native capability: The catalog data itself — item names/years/versions, photos, collector counts, and users' public collections — lives in an existing, independently-run Postgres-backed web app (The File Card) that predates this bot and is accumulating data from the community. That's not something reproducible in Devvit's own storage (Redis KV has no relational/query support for it), and it isn't a case of using a generic swappable backend from your approved cloud-provider exception list (Supabase/Firebase/S3) — it's a specific existing application's own read API.

Scope, for review:

  • Exactly two endpoints, both GET-only, unauthenticated, and public: /api/public/reddit-lookup and /api/public/collections/[slug]/summary.
  • No writes, no auth tokens, no user PII in the request — the only data sent is the bracket-reference text typed in the Reddit post/comment (an item name/year or a collection username already public on Reddit).
  • No general-purpose traffic driving — the bot only fires on an explicit, confirmed catalog match; unrelated bracket use in the sub is never touched.
  • Documented in the app's README under "Fetch Domains" per your documentation requirements.

Happy to answer any follow-up questions or narrow the request further if useful.

Thanks for your time.


r/Devvit 1d ago

Feedback Request Clearest Signal: I finally published my first Devvit word game!

1 Upvotes

Hey everyone!

I was inspired to release a word game that encapsulates the fun and difficulty of picking words for games like Codenames—finding words that connect your targets while desperately avoiding the opponent's cards.

I decided a fun way to do this on Reddit would be through a daily puzzle: you are given target words and decoy trap words, and you guess words to build your top 5-word signal deck for the day.

I found using open-source embeddings an excellent way to accomplish this, and figuring out how to work through the constraints of Devvit was both tricky and rewarding. There is no active external LLM connection during gameplay; we use pre-calculated open-source neural embeddings and score all 19,400+ English roots once during puzzle creation.

How it works:

• 3 Target Words: Friendly concepts you want to link in meaning.

• 3 Decoy Words: Traps you must avoid (closeness to decoys incurs a 65% penalty!).

• Top 5 Signal Deck: As you guess, only your top 5 highest-scoring words are kept on your board.

• Tiers & Subreddit Flairs: Score high enough to climb from 🥉 Bronze to 💎 Diamond and earn subreddit user flairs.

I just launched with our first 3 puzzles ranging from Easy to Hard. I’d love for people to try it out, see how the scoring feels, and give any feedback on the gameplay or UI!

👉 Check it out at r/clearestsignal

(Screenshot below is from my dev reddit)


r/Devvit 1d ago

Feedback Request Feedback for my Daily Artist game Singerdex

Thumbnail
gallery
0 Upvotes

Hey all! I am glad that my game got approved. It is called Singerdex, it is a daily artist guessing game where you start with a random artist and follow the attribute hints to guess the mystery artist in 10 attempts.

The design for the game has been inspired by Frutiger Aero (well, I have tried) and iOS 6 style skeuomorphic and glossy design.

I would love to get feedback on the things I should improve, features that I should add and more.

Try it here https://www.reddit.com/r/SingerDex/


r/Devvit 2d ago

Admin Replied Reddit Android 2026.35.0: expanded webview no longer displays WebGL canvases, and runs JS ~4x slower

10 Upvotes

App: click-bait-game (Devvit Web, custom post)

Post: https://www.reddit.com/r/Click_Bait/comments/1vatmf0/

Device: Google Pixel 9 Pro (Mali-G715 GPU)

Reddit app: 2026.35.0 for Android (installed 2026-09-01). The previous app version was fine.

What happens

Since the app update, our game's expanded webview shows a black screen. The game is running: buttons can be tapped blind, music plays, scene changes happen. Only the picture is missing.

Nothing on our side changed. To prove it we re-uploaded the exact build that was working in the app on 2026-08-28 (version 0.0.149 of our app). It is black in 2026.35.0 too. Phone Chrome on the same phone, same build, same post URL, displays it and runs at 58fps.

What we measured inside the app webview

We ship a diagnostic panel that draws test surfaces and reads pixels back from WebGL.

- WebGL 1.0 context is created fine (renderer reports Mali-G715, no context loss, no GL errors).

- readPixels on our WebGL canvas returns the rendered frame with colour. The canvas is drawn, it is just never composited to the screen.

- Raw WebGL test canvases with every context attribute combination (alpha on/off, preserveDrawingBuffer, antialias off) and CSS variants (translateZ, will-change, opacity 0.99) are all black on screen.

- A bitmaprenderer canvas (transferFromImageBitmap) is also black on screen.

- A plain 2D canvas displays correctly.

- Copying the WebGL frame into a 2D canvas with drawImage every frame makes the game visible. That is our current workaround.

- Performance in the same webview: requestAnimationFrame idles at 57fps with nothing to draw, but a 3M iteration JS loop takes ~25ms versus ~6ms in phone Chrome, and the game runs at ~20fps at every canvas size, with or without the copy. The webview process appears CPU throttled, and it is not per pixel.

- The inline (non-expanded) card webview behaves the same.

Impact

Every WebGL Devvit Web app is black on Android 2026.35.0 unless it copies frames through a 2D canvas, and even then runs at a third of the frame rate it had last week.

Ask

Is the expanded webview now running with hardware acceleration disabled (software compositing) in 2026.35.0? Can that be restored, or is there an attribute or manifest setting an app should set?

Happy to share a screenshot of the diagnostic panel, the app version, or a build that reproduces on request.

Edit: the biggest proof I have of this bug is that it works at 60fps in chrome browser on phone and 20fps in the android app, it was 60fps in android app yesterday.


r/Devvit 2d ago

Help Devvit app's moderator account stuck on modteam with no permissions after uninstall, and I can't edit or remove it

4 Upvotes

App in question: dejarepost

Subreddit in question: r/CringeTikToks

Platform I'm using: Desktop

Hi everyone, I'm having a bit of trouble with my Devvit app's permissions

The app's mod account (dejarepost) shows "no permissions" in the modteam list of r/cringetiktoks. Every attempt to edit its permissions or remove it from the modteam fails with "something went wrong."

I've already uninstalled the app from the subreddit, but the mod account persists anyway. Tried from old.reddit, new Reddit, and mobile; same "something went wrong" on all of them.

I've uninstalled and re-installed several times already as well, it did not fix the issue.

This also appears to be breaking the app at runtime: reddit.getPostById() on a just-submitted post throws Error: no post <id> in the onPostSubmit handler, 100% of the time. I believe it's because the app account has no mod permissions and can't read a post that isn't public yet. Started recently; the handler worked previously.

Any way to reset the app's mod account, or does this need an admin to force-remove it?

App version: 0.0.x (Public API 0.14.2)

PS i do remember the last time i updated my app, i tried uninstalling it but the uninstall hung on "uninstalling" for a long time, I started getting impatient and refreshed the page of my devvit app. it worked at the time but I'm thinking maybe that's what messed up the permissions.


r/Devvit 2d ago

Duck Answered Commercial Reddit Data API access request form won't submit

3 Upvotes

Hello,

I am trying to request approval for commercial Reddit Data API access for an external application.

I am following Reddit's Responsible Builder Policy and using the official Data Access Request form.

I selected the commercial developer/business partner option and completed all visible required fields. However, when I click Submit, the form simply reloads. I do not receive a confirmation page, ticket number, or confirmation email.

I have tried submitting the form multiple times and checked the required fields, but the same issue continues.

My proposed application is a read-only market research and Voice of Customer analysis tool. It would retrieve authorized public posts and comments and use AI only to organize, categorize, summarize, and analyze discussion patterns at an aggregate level.

I am seeking approval before implementing any Reddit Data API access.

Is the Data Access Request form currently experiencing an issue? If so, what is the correct alternative channel for submitting a commercial Reddit Data API access request?

Thank you.


r/Devvit 2d ago

Feedback Request I made FlairScanner, a Reddit mod tool to find users based on post and user flairs

Thumbnail developers.reddit.com
5 Upvotes

I’ve been working on a small Reddit app called FlairScanner.

The idea came from a pretty simple moderation problem. Sometimes you want to find users who have posted under a specific flair, optionally narrow them down by their current user flair, and see how many matching posts each person has made. Doing that manually gets annoying pretty quickly.

FlairScanner lets moderators select a post flair, optionally add a user flair filter, and scan the subreddit for matching users.

It currently supports normal scans with different scan depths, as well as a deep scan mode for going through a much larger portion of the subreddit. Results show the usernames, the number of matching posts, the scan criteria, and the total number of posts scanned. There’s also a CSV-style export that can be copied from the results.

I originally built it for moderation use in r/ReZero, but I figured other communities might find it useful too.

It’s still a work in progress, so I’d genuinely appreciate feedback from moderators and Devvit developers. Especially if there are features that would make this more useful for larger communities or other moderation workflows.


r/Devvit 3d ago

Duck Answered Before post/comment triggers?

3 Upvotes

Right now it can only be reactive - delete, move to queue.

But in many cases you want to inform users before they finish.

Create a post - but made a mistake/violated rules. They can hit post and be done with it - and at best get a notification later that "x was removed".

Instead of being able to correct it and repost.

Similar to reddit automations (but those are limited and a nightmare to configure for anything).

Like running language checks, keywords (and known leet/evasion patterns) etc.


r/Devvit 3d ago

Help Starting my first Devvit app: a Project Brief Builder for websites and systems

0 Upvotes

Hi everyone!

I’m beginning my journey with the Reddit Developer Platform and planning my first Devvit app. My background and current interests include website development, business systems, digital solutions, and tools that help organize service and delivery workflows.

For my first project, I’m considering building a Project Brief Builder that works inside a Reddit post.

The idea is to help users organize the requirements for a digital project before asking for technical advice or requesting a quote. The app could guide users through questions such as:

  • What type of project do you need: website, online store, internal system, delivery solution, or mobile app?
  • What is the primary objective?
  • Who is the intended audience?
  • Which features are required?
  • Is there an expected deadline?
  • What information or materials are already available?

After answering the questions, the app would generate a structured project brief that the user could review and copy. My intention is to create something useful for programming, small-business, freelance, and project-planning communities—not an advertising or lead-generation tool.

I’m currently at the planning stage and would appreciate guidance from experienced Devvit developers:

  1. Is this a suitable and realistic first Devvit project?
  2. Which Devvit features would be best for collecting answers and generating the summary?
  3. Are there privacy or app-review concerns I should consider from the beginning?
  4. What would you include in the smallest useful first version?
  5. Are there similar existing apps that I should study before building?

I’m reading the official quickstart documentation and plan to begin with the React template. Any advice for a first-time Devvit developer would be greatly appreciated.

Thank you!


r/Devvit 4d ago

Discussion [PSA] Making vibecoded apps more human

13 Upvotes

If you’re using AI to make your devvit app, that’s nice, as long as you keep in mind your human users. Here’s some UI tips and guidelines for building.

What to avoid:

1.Excessive use of emoji
Emoji can be okay if they’re used infrequently, however using them a lot can make your app feel busy! Instead, opt for icons like google’s material symbols in appropriate places.

2.Em dashes
Remove unnecessary instances

3.Excess text
AI can frequently add unneeded text that your users don’t need and clutter up your UI!

4.Too many gradients
Gradients are only beneficial when they’re used correctly! Avoid putting them everywhere.

  1. Dumping users in the app without help
    Make sure to add a tutorial and make it easy to follow. A precise explanation is much better than a wall of text!

Things you should do:

1.Actually test your app
Check if it looks nice on desktop and mobile devices, and if it actually works.

2.Format UI properly
You don’t want busy or cluttered UI. Also avoid making ui elements too small.

3.Write your own readme!
Don’t have the AI write it for you! AI written readmes will only help drive users away from your app. Also don’t let your AI write your showcasing post here.

4.Read the devvit rules YOURSELF
This is very important. Your AI agent can add rule violating functionality to your app.

If you want critical feedback, comment on this post.

Hope this helps!

(Edit: formatting)


r/Devvit 3d ago

Feedback Request Feedback wanted for Who am I?

1 Upvotes

This post contains content not supported on old Reddit. Click here to view the full post


r/Devvit 4d ago

Admin Replied navigateTo from a webview intermittently dismisses the current post but never opens the target post (iOS app). Measured failure rates inside.

2 Upvotes

I run a Devvit Web game (@devvit/web 0.14.0) in playtest on a private dev subreddit. When a player finishes a draft, my server creates a second custom post with reddit.submitCustomPost, waits until reddit.getPostById succeeds for it, and returns the post's canonical permalink to the webview. The webview then calls, from a button tap (a real user gesture):

import { navigateTo } from '@devvit/web/client';

navigateTo(url); // https://www.reddit.com/r/<sub>/comments/<id>/<slug>/

The problem (iOS Reddit app only): intermittently, the tap dismisses the interactive post the user is in, but the navigation to the target post never happens. The user is left on whatever screen was underneath, in my case the subreddit feed, because that is where they opened the post from. So it is not a wrong resolution of the URL; the current post view closes and the push to the new post is silently dropped.

The target post is definitely live when this happens: the server confirmed it readable ~3s before the reply, my app's comments are already landing on it, and I receive push notifications for that same post while the navigation keeps failing. Web has never missed. Android has been clean too, though I have fewer samples there.

Because navigateTo is fire-and-forget, I added analytics. Every tap logs the exact URL passed and the delay since the post was confirmed. Measured arrival = the destination post's own webview reporting a view within 3 minutes. That metric could overcount failures (a user could arrive and close the app before the webview reports), but every failure I have watched live ended on the feed with the target post never opening.

  • navigateTo fired from an effect on mount, iOS: arrived 10 of 12
  • navigateTo fired from an effect on mount, web: arrived 10 of 10
  • navigateTo from a button tap, iOS: arrived 6 of 11

The failures cluster in time rather than by anything I control. One night (04:17 to 04:34 UTC), three consecutive taps at 1.0s, 2.1s and 5.7s after the post was confirmed all dismissed back to the feed, while a fourth at 21.7s worked. The next day, taps at 0.8s and 1.4s after confirmation worked fine. Same app version, same device, same subreddit, same URL shape.

Ruled out on my side:

  • Post readability: the server polls getPostById and only replies once the post reads back (logs show "visible after ~3000ms, 1 read" every time, including every failure)
  • URL shape: full canonical permalink with slug, verified in analytics for both successes and failures
  • User gesture vs programmatic: both show the same failure mode (current post dismissed, target never opens), though the button tap path fails more often than the on-mount path, per the numbers above
  • The message reaches the host: the current post view is dismissed on every failure, so the app acts on the call; only the second half (opening the target) is dropped

This looks related to a report I remember from June on this sub, where navigateTo to another custom post opened the post but the webview rendered blank on iOS. I believe it was also filed on r/bugs and an admin said it was being investigated. Same call, same platform, similar symptom. The difference is that in my case the destination never opens at all. I could not dig up the link to that thread, so if anyone has it handy I would appreciate it.

Questions:

  1. Is there a known iOS issue where navigateTo from a webview dismisses the current post but drops the push to the target post, especially when the target was created seconds earlier?
  2. Is there a supported way to hand off from one custom post's webview to another custom post that the iOS app resolves reliably?

Environment: u/devvit/web 0.14.0, playtest app on a private dev subreddit, Reddit iOS App 2026.33.0.636484, iOS 26.5.2. 

Happy to share app name, post ids and exact UTC timestamps of the failing taps with anyone at Reddit.


r/Devvit 4d ago

Duck Answered Resource Exhausted Error (Redis Quota) When Creating a Post.

2 Upvotes

Hello,

I'm writing to request assistance with a RESOURCE_EXHAUSTED error I'm encountering on the Reddit Developer Platform.

The error message is:

Failed to create scenario: 8 RESOURCE_EXHAUSTED: this app has exceeded its redis quota and all writes will be blocked going forward, if you are the developer please contact Reddit Dev Platform Support.

I am not a developer and have never registered as one. I am just a regular user who tried to create a post in the r/Meowi subreddit, but the post failed to create, and now I'm stuck with this error. I can no longer use this app or create posts.

Could you please help me resolve this issue? I believe my account may have been mistakenly flagged as a developer, or there is a problem with the Redis quota for my user session. I would appreciate any guidance on how to get this fixed so I can continue using Reddit normally.

Thank you for your help.


r/Devvit 5d ago

Discussion Leaderboards OUTSIDE of Reddit

Thumbnail
gallery
1 Upvotes

Wondering what others are doing here.

r/MochiMochiDonuts has a Reddit leaderboard and that works fine. But I've since released Mochi Mochi Donuts on Google Play Store (and Android TV!) and I have an in-game leaderboard on the those versions.

I'd like to consolidate the user experience and unify the leaderboards. But With Devvit restrictions on connecting to external services I'm not sure this will ever be possible. Has any found a way to do this legitimately? I just want a better experience for my players.


r/Devvit 5d ago

Help Menu action location not working

3 Upvotes

Hi... I am building a sub-specific app to assist with mod tasks. The app will be launched via a menu action. I am using this in the definition because the task is post-specific:

location": "post"

But the menu action does not appear in the post's "three dot" menu. (No error messages... it just vanishes into the ether.) I have tried uninstalling, rebuilding, etcetera.

When I change "post" to "subreddit", it appears as expected in the sub's "three dot" menu.

I have done numerous searches looking for a solution, and have not found anything. If anyone has any suggestions I would be grateful. Thank you.


r/Devvit 6d ago

Help Please what else do I need to do after submitting my game for review using "npx devvit publish" anyone?

0 Upvotes