What makes Storyvote different: ten design choices behind the room

Every planning poker tool lets a team pick cards and flip them together. The differences are in the details: what happens to the number afterwards, who can see what, and what it costs a teammate to join. These are the choices we made building Storyvote, and the reasoning behind each, so you can judge whether they fit how your team works.

1. The number is saved for you

In most tools the reveal ends with a pile of cards and someone typing the result into a ticket. In Storyvote the moment the cards turn over, the voting result is already saved as the story's estimate: the smallest card at or above the average of the votes, so a 5, a 5 and an 8 (average 6) save as 8, and never as a number that isn't on the deck. On a scale with no average, such as T-shirt sizes, it is the most-picked card, the larger one when tied.

It is a suggestion, not a verdict. Anyone who voted can still change their card after the reveal and the saved estimate follows. When the host or a facilitator picks a different value by hand, that choice sticks until the next reveal. The conversation decides the number; the tool just stops losing it. (How to read the reveal itself is in planning poker and team consensus.)

2. One story, several estimates

A frontend task and a backend task are rarely the same size, and a single number hides which one is the risk. When you create a room you can name up to six disciplines, such as FE, BE and QA. A story can then be split so each discipline gets its own round and its own estimate, and the stories panel adds them up into the story's total.

The split is per story, so a small change can stay a single estimate while a big one gets three. Edit a split story later and the disciplines you keep keep their votes.

3. Extra questions that never hold the round up

Points are not the only thing worth asking. A room can add any of four extra questions next to the estimate: Risk (low, medium, high), Clarity (clear, gaps, vague), Agent-ready (could an AI agent build it, a person with one, or only a person) and AI tokens. Each has its own short row of cards, and the answers stay hidden until the reveal, like the estimate.

The design rule is that they are optional: a vote counts, in the seats and in "x of y voted", the moment the estimate card is picked. A teammate who skips the questions never blocks the reveal. The most-picked answer of each question is saved on the story (the more worrying one wins a tie) and comes out as a column in the CSV download.

4. Live and async are both first-class

Most tools are built for a call, with async voting as a bolt-on or a paid extra. In Storyvote you choose the mode when you create the room. In a live room the team takes one story at a time. In an async room every story opens for voting as it is added, each person works through the list in their own time, over hours or days, until the host reveals the cards.

The async rules are deliberately different. Nothing is revealed just because everyone has voted, since someone may still be on their way; a story's cards turn over only when the host or a facilitator reveals it. The room shows what is waiting for you, and "Next" takes you to your next unvoted story.

5. Votes stay on the server until the reveal

"Hidden" can mean two things: the cards are drawn face down, or the values really are not on your device. Storyvote does the second. The server sends each person their own view of the room, and until a story is revealed that view contains who has voted, never what. Opening developer tools doesn't help, because there is nothing to find.

Anonymous rooms go one step further: the view never carries per-person votes at all, only how many picked each card. Nobody, the host included, can learn who voted what, before or after.

6. Any story can be looked back at

A revealed story keeps its cards, charts and estimate for anyone to open. Click an estimated story in the queue and you see exactly what the team saw, while the table stays where it is for everyone else. The host can put it back on the table with Revote, or pick another estimate from there. It sounds minor until someone asks, twenty minutes later, "wait, what did we say about the search story?"

7. No account, but your seat is yours

There are no accounts to create, and no email address to give. What you do get is a seat that outlasts the tab: your identity is kept in one cookie that lasts 30 days after your last visit, shared across tabs. Close the browser, come back tomorrow through the invitation link, and you are in your own seat; a host gets their room back. That is what makes async rooms workable without sign-in. The flip side is honest: a different browser or device is a new participant. The exception is Telegram: open the Storyvote Mini App (@storyvoteappbot) and Telegram's signed launch data says who you are, so you skip the name prompt and keep your seat on any device, with no cookie at all. The Discord Activity works the same way with your Discord account. People in Telegram, in Discord and in a browser share the same room.

8. A room can outlive its host's day

Meetings overrun, and hosts get pulled away. Instead of ending the session for everyone, a host can hand the room to someone else (an online facilitator is suggested first) and leave. The host can also name any number of facilitators, who run the game (add stories, start votes, reveal, change the deck and settings) while the host votes like everyone else. What stays with the host is choosing facilitators, removing people and ending the session.

9. A CSV that opens correctly in Excel

Spreadsheet exports fail in boring ways: everything in one column because the region uses semicolons, accents turned to garbage, or a title starting with "=" run as a formula. Storyvote's download is written as tab-separated UTF-16 with a byte order mark, the one form Excel splits into columns on both Windows and Mac whatever the regional list separator, and cells that would run as formulas get a leading apostrophe. The import side reads what it wrote, plus Jira's Summary and Issue key columns, with comma-, semicolon- and tab-separated files and a preview before anything is added.

Connecting a tracker is optional: Jira Cloud, Linear and Trello import directly and get each estimate back as a comment, with the access belonging to the room and deleted with it. If you'd rather your backlog's credentials never reach us, a CSV is a fair trade for that. The roadmap says what may change.

10. When it's done, it's gone

Ending a session deletes the room at once, and a room nobody ends is deleted 7 days after it was last used (30 days for an async room, which runs across a sprint). There is no history to browse and no team profile being built, so the last chance to keep the results is the CSV on the "Session ended" page. We think that is the right default for a tool that asks people to be candid about how hard something is. How it can be free as well is in why Storyvote is free.

And a few small ones

  • Reactions. Point at a teammate's seat and throw a ๐Ÿ‘, a ๐ŸŽพ or a ๐ŸŽฏ at them. It's the cheapest way to keep a remote meeting from feeling like a spreadsheet.
  • Emoji for the whole room. Send a โค๏ธ, a ๐Ÿ˜‚ or a ๐ŸŽ‰ from the top bar and it floats up everyone's screen, as on a live stream. Nobody sees who sent it.
  • A discussion timer for the whole room. The host or a facilitator starts it from the top bar, and can add a minute, restart or cancel it. Here is how timeboxing sprint planning works.
  • Auto-reveal. Turn it on and a live room reveals itself once everyone connected has voted and the host or a facilitator is there.
  • Your own deck. Fibonacci, T-shirt sizes and powers of two are presets; or type any cards you like, such as "Easy, Hard", and use them instead.

What we left out on purpose

No accounts, no tracker connections, no saved history, no leaderboard of who estimates "best", and no AI that votes or suggests a number before the team's cards are revealed. Each of these would make a demo look better and a planning meeting worse.

Try the differences yourself. Create a free room, add a story and turn on a couple of extra questions. It takes about a minute.

โ† All articles

Enjoying Storyvote? A short review helps other teams find it.