Try out the r/Rankl Reddit Game
Try out Rankl.io
Inspiration
Rankl applies the Elo rating system to internet ranking. Since the 1960s, Chess Grandmasters have determined who's at the top of the game using the Elo rating system. We believe Rankl can deliver more objective polling on the internet with Elo rankings.
What it does
Rankl lets you rank anything. Rankl reduces noise by making each vote a matchup between two things. Every item in a Rankl game starts with a rating of 1200. When you vote for one option over another, the winner gains points and the loser loses points. The key is that the number of points exchanged depends on how expected the result was.
The Expected Score Formula:
$$ E_A = \frac{1}{1 + 10^{\frac{R_B - R_A}{400}}} $$
Here:
\(R_A\) = rating of option A
\(R_B\) = rating of option B
\(E_A\) = expected probability that A wins
If both options have the same rating, then \(E_A = 0.5\).
If A is rated much higher than B, then \(E_A\) approaches 1.
The Rating Update Formula:
$$ R_A' = R_A + K\left(S_A - E_A\right) $$
Here:
\(R_A'\) = new rating after the vote
\(K\) = maximum points that can change in one matchup
\(S_A \in {0,1}\) = actual result (1 if A wins, 0 if A loses)
\(E_A\) = expected probability from the formula above
If A wins when it was expected to win, only a few points change.
If A wins when it was unlikely, many points transfer.
This is what makes Rankl powerful: predictable outcomes barely move rankings, while surprising outcomes carry real weight — producing clearer results with less noise.
How we built it
Web: React, Node/Express, PostgreSQL (Neon), Replit Auth, and image upload handling. Reddit: Devvit, React (Vite), Express API, Devvit Redis for games, items, Elo, votes, and indexes; distributed locking and per-post data so multiple posts can have different games. User-generated content is encouraged and moderated by admins.
r/Rankl is supported by Rankl.io, which offers additional features like AI Rankl game creation and syncing Elo data between Reddit and the web platform.
Challenges we ran into
Handling concurrent voting while keeping Elo and vote counts consistent (locking, per-item updates).
Accomplishments that we're proud of
10,000+ votes so far. Full Reddit experience (discovery, search, voting, leaderboards, creation, admin) and consistent Elo/UX on web and Reddit.
What we learned
People like pairwise voting and live leaderboards; Reddit feels like a good fit; data modeling and locking were critical at scale. Got to love Redis for speed.
What's next for Rankl
Keep making Rankl matchups to answer life's most interesting questions. Get more people to try Rankl.
Note
The Rankl Development Server is available: https://www.reddit.com/r/rankls_dev/ Though we encourage you to instead use our production version at r/Rankl.
Made in Atlanta ❤️
Built With
- devvit
- express.js
- react
- recharts
- redis
- tailwind
- vite
Log in or sign up for Devpost to join the conversation.