Inspiration
Reddit communities make predictions constantly: before a match, an announcement, a release, or any event people care about. The fun is not only being right. It is making the call before the answer is known, returning for the result, and having a record that cannot be rewritten afterward.
VouchPick turns that familiar behavior into a lightweight community game inside Reddit.
What it does
A creator publishes a forecast with a deadline and a clear resolution source. Each player gets one locked prediction. Confidence is optional, and Blind mode can hide the crowd until the reveal.
When the forecast closes, the creator or a moderator resolves it against the stated source. A Phaser-powered reveal shows the outcome and the player's result.
Players earn Reputation for participating, making correct calls, locking early, and landing successful Hot Takes. Reputation never has cash value and never decreases.
Confidence is measured separately through a Brier-based Skill score. This keeps progression and calibration distinct: playing often builds Reputation, while honest confidence builds Skill.
VouchPick supports six forecast formats:
- Yes / No
- Multiple Choice
- Over / Under
- Range
- Closest Number
- Closest Date
Profiles track hit rate, streaks, titles, recent calls, category performance, and confidence history. Leaderboards compare lifetime Reputation, results on a specific call, category performance, and Skill.
How we built it
VouchPick is a Devvit Web application built with TypeScript. The interface runs inside Reddit custom posts, while Redis stores forecasts, locked calls, player statistics, titles, and leaderboard data.
Realtime updates keep lock counts current. Scheduled jobs close forecasts and process resolution work in batches. Phaser powers the reveal sequence, while Hono and Zod provide typed API boundaries and validation.
Scoring is idempotent and claim-first so retries cannot award Reputation twice. Resolution and finalization use atomic guards, and moderation tools support reports, voiding unsafe calls, and user-data deletion.
Challenges
The hardest design problem was separating three ideas that prediction games often mix together:
- Reputation rewards participation and correct calls.
- Skill measures whether confidence is honest.
- Streaks reward consistency over time.
We also had to make numerical forecasts understandable, keep Blind calls private before reveal, handle retries safely, and preserve a responsive experience inside Reddit on desktop and mobile.
Accomplishments
VouchPick now has a complete create → lock → close → resolve → reveal → profile loop across six forecast types.
The project includes realtime state, source-backed resolution, four leaderboard views, confidence calibration, titles, moderation workflows, responsive UI, and more than 150 automated tests covering scoring and lifecycle behavior.
What we learned
A prediction becomes more interesting when it creates anticipation between sessions. The return visit is the heart of the game.
We also learned that one number cannot explain who is good. Reputation, hit rate, confidence-based Skill, and streaks each answer a different question, so VouchPick keeps them visible without collapsing them into a single opaque score.
What's next
Next steps include seasonal community boards, recurring creator challenges, richer accessibility options, and creator analytics for understanding which calls bring players back.
Judge access
At submission time, the demo subreddit is private while a Public status request is pending. As explicitly permitted by the hackathon rules, the official dr-admin-approve app is installed in the community, allowing Reddit admins to access and test the demo post automatically.
Built With
- css
- devvit
- hono
- html
- phaser.js
- realtime
- redis
- typescript
- vite
- vitest
- webreddit
- zod
Log in or sign up for Devpost to join the conversation.