Inspiration The best moments at any hangout are small dares: “No way you stack those cups in 20 seconds.” Everyone has an opinion, but the argument disappears the second the attempt ends. Prediction markets showed us how much people enjoy putting a number on an uncertain event, yet they’re built around elections and sports, not your friends. We wanted the opposite: a tiny event your group invents on the spot, a fair way to call the odds, and a record of who actually called it.

What it does Darelihood (dare + likelihood) turns a skill challenge into a live forecasting party game for 2–8 friends, played on everyone’s phones. 1 Make the challenge. Pick one of six editable presets (Cup Castle, Paper Shot, Country Sprint, Alphabet Rewind, Coin Tower, Word Burst) or write your own. Everyone must agree to the exact same version of the rules, and any edit resets agreement. 2 Call the odds. Everyone except the performer privately submits a probability from 0 to 100%. Nobody sees anyone else’s number until the host locks the round; then every forecast and the group forecast are revealed at once. 3 Watch it happen. A synced countdown and timer run on every phone while someone records the attempt. 4 Review it. Gemini watches the clip against the frozen rules and suggests success, failure or unclear, with observations and timestamps. It only suggests: the host proposes the result, every player must agree, and any dispute blocks scoring. If AI isn’t available, the app says so and the group reviews manually. It never shows fake AI output. 5 See who called it. Forecasts are scored, the leaderboards update, and Gemini writes a short sports-announcer recap from the real forecasts and what it saw in the video. The math.

Each forecast earns points from a scaled Brier score: points = 100(1 − (p − y)^2

where p is the forecast as a fraction and y = 1 for success or 0 for failure. A 50% forecast always earns 75 points, and a fully confident wrong call earns 0. Performers earn separate challenge points (+50 for a success), so forecasting skill and performing skill get their own leaderboards.

How we built it Frontend and hosting: Next.js, TypeScript and Tailwind CSS, deployed on Vercel.

  • Backend: Supabase for anonymous sign-in (no accounts or emails), Postgres for all shared game state, and private storage for clips.
  • Game logic in the database: every action is a Postgres function that checks the caller’s role, locks the round and verifies the rules version, so each transition is atomic and points can never be awarded twice. Row-level security blocks direct writes, and a single read function returns only what each player is allowed to see. That’s how forecasts stay hidden until lock.
  • Sync: phones poll the room every 1.5 seconds, and timers run on server timestamps, so a refresh never resets the game.
  • Video: clips upload straight from the phone to storage with resumable uploads, because serverless functions cap request bodies at 4.5 MB.
  • AI: Gemini (gemini-3.8-flash) analyzes each clip through the Files API with structured JSON output, which we validate before showing anything.
  • How two beginners shipped it: Claude helped turn our brief into a build plan and coding prompts. Two Codex agents on two laptops then built in parallel, one on the app and database and one on the isolated Gemini module, with strict file ownership so their branches merged cleanly.

Challenges we ran into

Keeping forecasts truly hidden. Hiding numbers in the interface isn’t enough if the API still sends them. Every read had to go through one function that strips other players’ values until the round locks.

  • Phone videos are big. A 30-second clip can be far larger than a serverless request allows, so uploads go directly to storage instead of through our API.
  • Two AI agents, one repo. Left alone, both agents would edit the same files. We gave each one a list of files it owned and files it must never touch.
  • Venue Wi-Fi vs. rate limits. Everyone at the venue shares a few IP addresses, which collided with the default limit on anonymous sign-ins per IP.

Accomplishments that we're proud of

-A complete multiplayer round runs across separate phones on a real deployed backend, not a mockup.

  • Scores match every worked example in our spec exactly. For example, a 70% forecast on a success scores 91.00, and a 25% forecast on a failure scores 93.75.
  • The AI is honest: it can answer “unclear,” it never decides a result on its own, and the game still works without it. -People outside our team played it during HackTX.

What we learned

-Proper scoring rules reward honesty. If you truly believe the chance is t and you report p, your expected score is

E[points] = 100 (1 − t(1 − p)^2 − (1 − t) p^2)

which is maximized exactly at p = t. Reporting anything other than your real belief costs points on average, so the honest forecast is also the winning one.

  • Authorization belongs in the database. A hidden button is not security.
  • How to direct AI coding agents. Small milestones, tests first, clear handoffs for the steps only humans can do, and never believing “it works” until we’d tried it on two phones.
  • AI judging needs humility. An honest “unclear” is more useful than a confident wrong answer.

What's next for Darelihood

From forecasts to a live prediction market. Right now each player submits one sealed forecast. Next, we want a market mode where players buy YES and NO shares with game points and the whole room watches the price move as confidence shifts. A room of four friends can’t support an order book, so we’d use Hanson’s logarithmic market scoring rule (LMSR), an automated market maker that always quotes a price.

Here q yes and q no are the shares sold so far, a trade costs the change in C, and each winning share pays one point. The price pyes is the room’s live probability, the liquidity parameter b sets how far each trade moves it, and the market maker can lose at most b ln 2 points per round. Sealed forecasts would stay as a mode, because the simultaneous reveal is half the fun. Beyond that:

  • Richer markets: over/under lines (“over or under 12 countries in 30 seconds?”), multiple-choice outcomes, and head-to-head challenges between two performers.
  • Calibration profiles: track each player’s forecasts over time. When you say 70%, does it actually happen 70% of the time?
  • Bigger rooms: challenge rooms for clubs, classrooms, campus events and streamers whose audiences forecast live.
  • Stronger verification: multiple camera angles, AI-extracted timing and better dispute handling.
  • Real stakes, done responsibly: we’ll stay on game points. Anything involving real money would only happen through a licensed, regulated partner.

Built With

Share this project:

Updates

Submission history