Project
Roulette

Watch Party Queue

A shared playlist where everyone votes on what plays next.

IntermediateWeb appSocial10–20hAI-buildable 5/5no setupworth shipping

A collaborative queue: anyone can add, everyone votes, and the order reshuffles live. The interesting design question is fairness — pure vote ordering lets one person dominate, so the ranking needs to account for who has already had a turn.

UI
Logic
Useful

Hosting · Free forever

Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.

Deploy it and share a link.

Core features · 7

  • Join a room with a display name
  • Add items to a shared queue
  • Upvote items, one vote per person per item
  • The queue reorders live as votes arrive
  • The currently playing item is pinned and can be skipped by vote
  • Ordering accounts for how recently each person had a turn
  • Played items move to a history list

The interesting part

  • A ranking rule that feels fair rather than purely majoritarian
  • Reordering animations that don't disorient when several votes land at once
  • Handling the host disconnecting mid-session

Once it works

  • Add synchronised playback position
  • Add a veto with a cooldown
  • Add a per-person contribution summary

Suggested stack

reacttypescripttailwindframer-motionsupabase

Track it