Planning poker with live reveals, built by Claude Code on Elements

Planning poker with live reveals, built by Claude Code on Elements

Rooms joined by link with a name, face-down votes, a reveal with the average and spread, and a CSV of estimated stories.

How it's built

Sizingdeck needed rooms anyone can join from a link, cards that stay face down until the reveal, a table everyone sees change as people vote and a CSV of the results. Each of those is a part of Elements, so the agent spent its 18 minutes on the game itself.

  • A live table. Rooms, participants, stories and votes are LiveTables, one view per room. When someone joins, votes or the facilitator moves to the next story, every open copy of the room updates.
  • Face-down cards. A card reaches the browser only after the reveal, so everyone sees who has voted while the cards stay face down. The reveal shows the average and the spread.
  • Join with a name. A teammate opens the link, types a name and is signed in with a session, in the room a moment later.
  • Facilitator controls as function calls. Adding stories, voting, revoting and saving an estimate call server functions straight from the page with @rpc. Each call checks the caller's seat, and another participant can take over as facilitator.
  • Estimates as a download. The room exports each estimated story with its estimate, average and vote count as a CSV that opens cleanly in a spreadsheet.
  • Data from SQL files. Migrations define the rooms and seed a demo room with five people and seven stories, four already estimated.

Why Elements

Elements is an integrated full-stack app framework and a project server. The project server checks the agent's work as it builds: it type-checks the server and browser code, analyzes the program, applies migrations and runs the tests, then reports the results to the agent. A security mistake, such as calling a server-only function from the browser, is a compile error. The agent reads the report and fixes its own mistakes before it tells you a feature is done. The same checks run on every feature you ask for next.

Run it yourself

  1. 1 Sign up

    Already have an account? Sign in

  2. 2 Install and run the demo One prompt to paste into your agent.

View the code on GitHub →

The prompt

What Claude was given to build this app.

Agent Prompt
Build a planning poker app named sizingdeck for sprint estimation.

- Create a room and share its link. Join with just a name.
- The facilitator adds stories to estimate (title and a link).
- Everyone picks a card (1, 2, 3, 5, 8, 13, 21, ?, coffee) face down; you see
  who has voted but not what.
- The facilitator reveals: cards flip, with the average and the spread, and
  the room agrees on a final estimate.
- A list of estimated stories, exportable as CSV.

Seed one room with five named participants and a few stories already
estimated.

Joining, voting and reveals happen in real time for everyone in the room.