Sizingdeck: planning poker for teams estimating a sprint

Sizingdeck: planning poker for teams estimating a sprint

00 Markdown

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

Agent specs

Agent
Claude Code, Opus 5.5 Medium
Time
18 min
Cost
$5.08*

Agents work faster and more accurately on Elements.

* Cost at API rates, September 2026.

Run it yourself

Paste this prompt into your AI agent. You get the finished app on your own machine, ready to change however you like.

Agent Chat
Install elements:
curl -fsSL 'https://install.elements.dev?os=darwin' | sh && export PATH=~/elements/bin:$PATH

Create an Elements app from the elementscode/demo-sizingdeck scaffold:
cd ~/elements/projects
elements create sizingdeck -scaffold=elementscode/demo-sizingdeck
cd sizingdeck

Start the app.

Need an AI agent?

In AI desktop apps, paste into the Code tab, not the general chat.

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.

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.

The code

Build it from scratch

To watch your agent build this app from an empty project, use the prompt we used instead. It takes longer than starting from the finished app above.

Agent Chat
Install elements:
curl -fsSL 'https://install.elements.dev?os=darwin' | sh && export PATH=~/elements/bin:$PATH

Create an Elements app:
cd ~/elements/projects
elements create sizingdeck
cd sizingdeck

Start the app, then build this:

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.

The weekly digest

New lessons, demos and posts from elements.dev, in one email a week.

Comments· 0