Estimate together, without the overhead.
Create a room, share the link, vote on a Fibonacci deck, reveal together, start a new round — synced live between everyone in the room. No accounts, no subscriptions, nothing to install.
How a round goes
Three requests, one shared room. Every participant sees the same state at the same time — reveal shows everyone's card, plus the average of anything numeric.

Create or join
Pick a name, create a room with the creator key, and share the link — or drop in a room code someone sent you. Nothing to sign up for.

Vote in private
Everyone picks a card. Who's voted shows up live — what they picked stays hidden until the room reveals. The header shows the live connection.

Reveal, discuss, repeat
One click flips every card at once. See the spread, talk it out, then start a new round when you're ready.
Almost permissionless
Anyone in the room can reveal, start a new round, or edit the topic. The one exception: only the creator can close the room early.
Actually live
Votes, joins, and reveals push to every open tab instantly over a WebSocket — with Server-Sent Events as the fallback on networks that block them.
Fibonacci + wildcards
1, 2, 3, 5, 8, 13, 21, plus a ♠ wildcard and a ? pass — both excluded from the average automatically.
Cleans up after itself
A room closes 2 hours after it was created, whatever is happening in it, with a warning near the end and a countdown at the finish. Need longer? Start a new one.
A port, not a copy
This is the Cloudflare port of proto-poker, rebuilt from the original Vercel app's code. Rooms, the HTTP API, and the frontend carry over unchanged; underneath, each room is a single Durable Object that owns its state, serializes every write, and pushes changes to its own connections — no database, no pub/sub, no retry loops. Where the platform allowed better, the design changes on purpose: hibernatable WebSockets instead of SSE alone, so an idle room costs nothing, and rooms that close themselves instead of waiting out a 4-hour TTL.