Project
Roulette

Live Poll Room

Ask a question, share a link, and watch the bars move as votes land.

IntermediateWeb appSocial8–16hAI-buildable 4/5needs backend

A live polling app where results animate in as people vote. The satisfying part is the moment of shared attention — everyone watching the same bars grow. Underneath, it's a good exercise in optimistic updates and in preventing one enthusiastic person from voting fifty times.

UI
Logic
Useful

Hosting · Free tier, sleeps when idle

Deploys free on Vercel Hobby + Supabase free or Cloudflare Pages + Turso free.

Free database tiers pause or expire when a project sits idle, so this one needs occasional attention to stay up.

Deploy it and share a link.

Core features · 6

  • Create a poll with a question and two or more options
  • A shareable link opens the poll for voting
  • Results update live for everyone as votes arrive
  • Bars animate to their new proportion rather than jumping
  • One vote per participant, enforced on the client and the server
  • The poll can be closed, freezing the results

The interesting part

  • Optimistic vote rendering that rolls back correctly on failure
  • Animating proportions when the total is also changing
  • Preventing duplicate votes without requiring accounts

Once it works

  • Add ranked-choice voting
  • Show a live participant count
  • Add a QR code for the share link

Suggested stack

reacttypescripttailwindframer-motionsupabase

Track it