Inspiration
What it does
How we built it
Challenges we ran into
Accomplishments that we're proud of
What we learned
What's next for Ladder: put them in order
Inspiration
Ladder was made to give Reddit a simple daily ranking challenge: a low-pressure, repeatable way to test general knowledge.
What it does
Ladder is a daily Devvit Web game. Players rank five well-known items in four quick rounds, such as countries by population, mountains by height, rivers by length, skyscrapers by height, or films and video games by release year. Everyone gets the same puzzle sequence that day. When a round is locked in, the game reveals the true ranking with the actual values and the share of players who got that round perfect. At the end the player sees a score out of 20, their percentile, a daily streak and a spoiler-free grid, with buttons to post the result as a comment or join the subreddit.
How we built it
tools/build_sets.pybuilds a bank of 400 daily sets from Wikidata (CC0), pacing its queries to respect Wikidata's rate limit (a clean run takes about 12 minutes).- True rankings and values stay on the server and are released to the client only after a round is locked in.
- Redis enforces one lock-in per round, counts perfect rounds and keeps a daily score histogram, so percentiles need no scan of all players.
- A fixed, deterministic shuffle per day means every player sees the same order.
- A scheduler posts a new Ladder every day at 00:05 UTC; moderators can also post it manually.
Challenges we ran into
- Wikidata rate limits: the data builder has to pace itself over a long run.
- Preventing cheating by keeping answers server-only and releasing them one round at a time.
- Calculating percentiles efficiently with a pre-computed histogram.
What's next
- Expand the puzzle bank with more geographic and pop-culture datasets.
- Add data sources beyond Wikidata for more topic variety.
New and existing
This project was created entirely during the Submission Period (started 12 November 2026, after the hackathon opened on 11 November), built from scratch on Devvit Web.
Built With
- devvit
- react
- redis
- typescript
- wikidata