Inspiration
I've seen lots of times on reddit communities have tried to create their own 'What is the best X?' interactive experiences using regular posts, but they aren't user friendly, and aren't engaging, often requiring you to open the post, find the matching comment and upvote it. Here's a few examples:
https://www.reddit.com/r/geometrydash/comments/107tpx7/today_is_round_3_of_the_main_level_tournament_top/ https://www.reddit.com/r/brooklynninenine/comments/r5vloe/round_15_amy_has_been_eliminated_vote_out_your/ https://www.reddit.com/r/Kanye/comments/w0uoet/ultimate_kanye_bracket_part_1_the_college_dropout/ https://www.reddit.com/r/Naruto/comments/12vo5rl/heres_a_fresh_game_idea_to_spice_it_up_a_little/ https://www.reddit.com/r/RPDR_UK/comments/1kgrc60/rupauls_drag_race_uk_tournament_of_allstars_the/
What it does
It's a reddit app that any community can install, and they can enter 2, 4, 8, 16, 32, 64 or 128 choices, in order to find out what the ultimate is, this could be the best geometrydash song, the best brooklyn nine nine character, the best kanye song, the best ru paul contestant etc.
The app then creates a knock-out style tournament featuring all the options in one big bracket, whoever wins moves on to the next round, until we have an eventual winner.
You set up the frequency of battles, from 1 minute to 24 hours.
Each user who lands on the subreddit has 1 vote per battle. They can vote for option 1 or option 2. Whoever has the most votes (or random if it's a tie), moves on to the next stage.
The app cycles through all the rounds, then moves on to the next stage, until the final happens, and afterwards it crowns a winner.
How we built it
Built using the Bolt.new IDE, mostly using the in-app prompting, with a bit of help from more complex models (Claude 4 Opus) when there was some hyper specific challenges.
Challenges we ran into
Styling the interactive post is hard, you have limited access with what elements are available through the Devvit platform, e.g. the stacks, the image etc. So to make cool looking apps you have to be creative with how you do it. To make the app feel interactive, we hot swap out pngs -> gifs when the user interacts with it to make it feel like their action is doing something. There isn't support for custom fonts on the apps, so I made a script that converts text in to a svg, that we then use as an image url to render it out.
Accomplishments that we're proud of
A fully working app that fixes a real issue that I've seen other communities having in the past. I'm really proud I got the design working almost exactly as I intended, as the first few days I really struggled with figuring out how to make a cool looking interactive post.
What we learned
Reddit's interactive posts are really interesting, it's quite locked down, but with enough creative thoughts you can build anything you want. It's made me really want to actually get my app in the hands of a bunch of users to see people playing with it, and seeing it make a difference to people's communities. Using AI coding agents was a really good experience to learn what they are capable of, and what they struggle with, letting me better understand how to improve my own coding workflows.
What's next for Vote Royale
Different themes that fit different communities. 8bit is cool, but is it a bit out of place on rupaulsdragrace? Probably. Letting the user swap between 5-6 different themes depending on their community would make it a lot more welcoming. I think there's also a big opportunity to explore with letting the user vote in multiple rounds at once, because at the moment they can only interact with it a single timer per frequency. This might be once a day, which feels a bit boring.
Built With
- bolt
- devvit
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.