Inspiration
Sudoku on Reddit feels natural: fast daily puzzles, public bragging rights, and comment threads full of strategy. I wanted a native Reddit experience that loads instantly inside a post, runs on desktop and mobile, and sparks daily discussion. The result is Sudoku Sprint: quick 6×6 and 9×9 speed runs with live leaderboards, streaks, and a clean UI.
What it does
- A Devvit Web game that renders inside a Reddit post and supports both Easy 6×6 and Hard 9×9 daily puzzles.
- Live leaderboards per puzzle using Redis sorted sets. All‑time leaderboards are computed on the fly from daily results, so there is no fragile migration.
- Streak tracking with a 30‑day activity heatmap and best run highlights.
- A daily scheduler that posts one fresh challenge per subreddit per day, with duplicate prevention.
- Progress auto-saves so you can come back later, instant conflict feedback, and a compact phone‑first layout.
How we built it
- Each daily post maps to a date. The app deterministically generates two puzzles:
daily_easy_<date>anddaily_hard_<date>. - Scores are stored in
puzzle:<puzzleId>:scoresas RedisZSETs using the numeric score for ranking. - The all‑time board is derived in real time by aggregating daily sets for a date range and summing per user. No separate write path is needed, which keeps data consistent.
Challenges we ran into
- useAsync only fires after the user interacts with the app, this took a while to figure out.
- Avoiding duplicate daily posts in multi‑subreddit installs. I solved this with daily-puzzle-post:
<subreddit>:<date>guards. The docs say the redis instances are separate per subreddit, but I think I saw different behavior. - Balancing fairness and speed. The score formula needed to feel rewarding for both quick easy runs and longer hard clears.
- Keeping the UI snappy while persisting session state and autosaving every few seconds.
- Handling completion checks cleanly: user bests per puzzle, leaderboards, and session replay without inconsistent states.
Accomplishments that we're proud of
- Built and shipped this app quickly with no prior devvit knowledge
- A small amount of users are actually playing it!
What we learned
- Devvit Web’s render model and hooks: moving network and Redis reads into
useAsyncto avoid server‑call in render. - Designing Redis keys for instant reads and simple aggregation. Real‑time all‑time boards are simpler and safer than backfills.
- Time zone and date parsing for daily content on Reddit posts. Parsing human titles like “Saturday, August 9, 2025” reliably matters.
- Mobile‑first UI inside a constrained post surface: minimal chrome, high‑contrast theme‑aware colors, and tap targets that feel good.
- Integrating devvit MCP server into workflow dramatically improves agent performance.
What's next for Sudoku Sprint
- More social dynamics (current high score, share, better leaderboard)
- Pencil mark support (90% done already)
Built With
- cursor
- devvit
- figma
- redis
Log in or sign up for Devpost to join the conversation.