Inspiration
A single coin flip is the cleanest 50/50 there is. But I have an economics degree and a soft spot for the counterintuitive, and the interesting thing about coin flips isn't one flip — it's what happens across a crowd of people all flipping at once.
The probability that any one person calls a streak of $k$ flips in a row is small:
$$P(\text{one person hits } k) = \left(\tfrac{1}{2}\right)^k$$
But the probability that at least one person in a group of $n$ pulls it off climbs surprisingly fast:
$$P(\text{someone hits } k) = 1 - \left(1 - \left(\tfrac{1}{2}\right)^k\right)^n$$
So a 10-flip streak that feels near-impossible for you individually ($\approx 0.1\%$) becomes almost inevitable once thousands of people are playing. I wanted to build a social experiment to watch that math play out in real life — to see the "lucky" outliers emerge exactly the way the statistics say they should.
What it does
The main game is the Daily Flip: users lock in a guess of heads or tails before midnight ET. The result is then determined by drand, a distributed randomness beacon, so the outcome is publicly verifiable and can't be manipulated after guesses lock — nobody, including me, can rig the flip. All guesses resolve at once, users build up streaks (or anti-streaks of consecutive wrong guesses), and badges get awarded for milestones like calling several in a row.
How I built it
I originally built this on guesstheflip.com because I was toying around with ideas in Claude Code but was stuck waiting for The Perfect Idea™. I finally decided I just needed to build something — anything — to get the creative juices flowing. The web version shipped on Vercel with a Supabase backend, and it worked: it unblocked me, and I've built over a dozen small ideas since.
For the hackathon I returned to Claude Code to adapt it to Devvit. The core loop maps cleanly onto the platform's primitives: guesses are stored per user and locked at the midnight-ET cutoff, a scheduled job pulls the day's randomness from drand and resolves every open guess in one pass, and streaks and badges are recomputed from that result. The fairness guarantee comes for free — because drand's beacon is verifiable, the flip is provably not something I control. The bulk of the real work was learning which parts of the web architecture to keep and which to hand over to Devvit's native building blocks.
Challenges I ran into
A once-a-day game has a 24-hour feedback loop, and that's poison for retention. When you guess the Daily Flip there's no immediate gratification, which led to quick drop-off. So I added the Daily Run: you guess a series of flips back-to-back until you get one wrong. That tight, instant feedback loop — how long a run can you string together? — gives players a reason to keep tapping and something to compete over, and it's become the stickiest part of the game.
Accomplishments that I'm proud of
I'm not a designer, so the interface took a lot of iteration. My goal was to fit the whole game inside a single Reddit post with no scrolling while still conveying the essentials to both brand-new and returning players. That constraint was brutal, and getting to a layout I was actually happy with is the thing I'm proudest of — even though I know I'll keep refining it as feedback rolls in.
What I learned
I learned that distribution on a random website is hard. That's the real reason Devvit appealed to me: as a longtime Redditor, meeting players where they already are is a fundamentally different distribution story than hoping people find a standalone site. Learning the platform was genuinely fun, and I'm curious to see how distribution actually performs and what knobs I have to boost it.
What's next for Guess the Flip
User feedback is gold. The web version evolved dramatically thanks to a small group of friends who tore it apart, and I'm excited to hand the game to the Reddit community and see what they push me to change. I'm also looking forward to having more data to play with — surfacing the streak statistics back to players in interesting ways is exactly the kind of thing that got me into this in the first place. If it does well, I plan to port more of my ideas over.
Log in or sign up for Devpost to join the conversation.