--- title: "Sizingdeck: planning poker for teams estimating a sprint" author: "@chris" author_url: https://elements.dev/users/chris published: 2026-09-30T19:47:54.264Z url: https://elements.dev/demos/2k29w01a/sizingdeck-planning-poker-for-teams-estimating-a-sprint kind: post format: article --- # Sizingdeck: planning poker for teams estimating a sprint by [@chris](https://elements.dev/users/chris) ยท 2026-09-30 ## Description Rooms joined by link with a name, face-down votes, a reveal with the average and spread, and a CSV of estimated stories. 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. **What Elements gave the app** - **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. **What the project server gave the agent** The project server runs alongside the agent and answers as soon as a file is saved: it type-checks the templates, TypeScript and SQL, applies migrations and reruns the tests, so every question came back right away and the agent kept building. **What shipped** The app type-checks with zero errors and all 19 tests pass. Every page works on desktop and phone.