Inspiration
Rank It grew naturally out of my previous projects, especially Sinai Studio and Noofy. I spend a lot of time working with AI image-generation models, testing workflows, comparing outputs, and deciding which images work best.
That made me realize how often people enjoy comparing visual content, whether it is AI-generated artwork, fictional characters, food, animals, places, products, or almost anything else. The decision itself is simple, but seeing how your opinion compares with an entire community makes it much more interesting.
Reddit felt like the ideal platform for this concept. Every subreddit already brings together people around a specific interest, and Rank It gives those communities a simple way to turn that shared interest into an evolving game.
What it does
Rank It is a Reddit-native community ranking game where users create image-ranking boards, also called cups, and let the community decide the final order.
A board can be about almost anything: the best movie characters, the cutest animals, the most beautiful destinations, the best-looking food, or the strongest AI-generated images, etc..
Creators can choose between two voting modes:
- Battle Royal: users see one image at a time and swipe right to approve it or left to reject it.
- Versus: users see two images and choose which one should win the matchup.
Every vote updates a live leaderboard. Players can immediately see how each image ranks and how their choices compare with the rest of the community.
Users can also browse trending boards, discover the most-played cups, search the boards available in the current community, create their own boards, and—when enabled—submit additional images to community-created boards.
Boards remain playable over time, so their leaderboards continue evolving as more Redditors participate. They can also be shared through Reddit's native Share/Repost flow, which directs users back to the original interactive post.
How I built it
Like many developers, I gradually shifted toward vibe coding after GPT-3.5 was released. Since then, I have continued refining the way I work with coding agents and learning how to give them enough context, constraints, and structure to produce reliable results.
For Rank It, I started by building the entire frontend. This helped me understand the experience from the player's perspective before thinking too deeply about the backend architecture.
Once the main screens and interactions existed, I wrote down every important product decision until I had a very clear understanding of what the game was, how each voting mode should behave, and how boards, images, votes, and leaderboards should work.
I then turned those decisions into a detailed project specification. From that document, I asked my coding agent to generate a structured backlog, ordered from the first architectural decisions to the final production validation steps.
At that point, most of the difficult product and design decisions had already been made. I could switch into what I call full-auto vibe coding mode: letting the agent implement each milestone while I reviewed the results, corrected assumptions, tested important paths, and updated the specifications whenever something needed to be clarified.
The project was built entirely around the Reddit Devvit ecosystem. The frontend runs as a Devvit Web application, the server exposes authenticated API routes, Reddit identities are derived from the platform context, images are processed and uploaded through Reddit media, and the current release stores its boards, votes, progress, and leaderboards in installation-scoped Devvit Redis.
The original architecture was designed around Devvit Global Redis so every Rank It installation could share one catalog. That implementation has been preserved for a future release if Global Redis access becomes available.
Challenges I ran into
My main constraint was that I wanted the entire game to use the Reddit Devvit ecosystem, without relying on an external database, media platform, authentication service, or backend provider.
The most difficult architectural requirement was the global board catalog.
My original vision was for Rank It to have one shared catalog across every subreddit installation. A user opening the app from any community would be able to access the same boards, leaderboards, votes, voting progress, search results, and media references.
Supporting that experience required access to Devvit Global Redis. I built the project's architecture around it and implemented the repositories, indexes, voting logic, moderation, privacy workflows, and migration-safe data structures needed for a shared catalog.
However, Global Redis access was not granted to the Rank It app before the hackathon deadline. I also contacted the Devvit modmail about the issue, but did not receive a response in time.
Rather than introduce an external backend, pretend that installation-local data was global, or submit a game that could not run, I pivoted to an intentional subreddit-local release.
For the current version, every Rank It installation has its own boards, entries, votes, user progress, leaderboards, Trending and Most Played results, search index, reports, and moderation state. A board created in one subreddit installation does not appear inside another installation.
Boards can still be shared through Reddit's native Share/Repost flow, but the shared post directs users back to the original interactive board instead of creating a second copy with separate data.
This was not the experience I initially wanted to ship, because a shared catalog would make discovery and participation much stronger. However, the local version preserves the complete gameplay experience inside each community and remains fully built on Reddit's own platform.
The completed Global Redis architecture has also been preserved, and the local data model is designed to remain compatible with a future bounded migration if access becomes available later.
Another challenge came from Reddit's posting boundaries. An app installed in one subreddit cannot simply create an app-authored interactive post inside another installation. As a result, each board's interactive post is created only in its source subreddit, while Reddit's native sharing tools handle distribution to other communities.
Accomplishments that I'm proud of
Compared with my previous project, Rank It was surprisingly straightforward to build.
What I am most proud of is not one specific technical feature. It is the fact that the core concept simply works.
The game is immediately understandable: create a topic, add images, let people vote, and watch the leaderboard evolve. It works for serious discussions, niche communities, fandoms, visual comparisons, and completely absurd Reddit debates.
The two voting modes make the same basic concept feel different without overcomplicating the experience. Battle Royal is fast and instinctive, while Versus creates more direct competition between entries.
I am also happy that the final product feels genuinely native to Reddit rather than like an unrelated website embedded inside a Reddit post. The boards are community-created, votes shape a shared outcome, every topic can become a game, and the evolving leaderboard gives people a reason to return.
What I learned
With every project, I refine both my development skills and the way I collaborate with AI coding agents.
The biggest lesson from Rank It was that vibe coding becomes dramatically more reliable when product decisions are completed before implementation accelerates.
Instead of repeatedly watching agents invent product behavior while writing code, I first created the frontend, clarified the product rules, documented the architecture, and broke the work down into ordered milestones.
Once the specification became the source of truth, the coding process became much faster and more consistent. The agent had clear guardrails, architectural decisions were not constantly reopened, and I could focus on reviewing results instead of repeatedly explaining the same product.
This is definitely a strategy I will reuse: design first, specify clearly, divide the project into milestones, and only then move into high-speed implementation.
What's next for Rank It
The next step is completing the remaining live validation, testing the game with real users and communities, and learning whether Redditors naturally create, play, and share their own cups.
If Devvit Global Redis access becomes available, I would like to migrate Rank It toward the original shared-catalog vision, where boards, votes, progress, leaderboards, and discovery can follow users across every subreddit installation.
I am especially interested in seeing what Redditors choose to rank. The structure is deliberately broad enough to support serious comparisons, fandom debates, community competitions, AI-image contests, food rankings, travel discussions, and all the strange topics that only Reddit communities would create XD
If Rank It proves easy to distribute, market, and grow, and the return justifies the time invested, I would like to create more Reddit-native games.
For me, Rank It is also a test of a broader idea: Reddit communities already contain the players, topics, conversations, and culture. A good Reddit game does not need to manufacture a community around itself. It can give existing communities a new way to play together.
Built With
- devvit
- hono
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.