DEV Community

Cover image for I Built a Free Planning Poker App with SvelteKit and Cloudflare Durable Objects
Alejandro Rodriguez
Alejandro Rodriguez

Posted on

I Built a Free Planning Poker App with SvelteKit and Cloudflare Durable Objects

Scrum teams need Planning Poker often — and they rarely want another account, another SaaS login, or a shared spreadsheet.

So I built Planning Poker Free: open-source, no signup, create a room, share the link, and estimate in real time.

Planning Poker Free board

The problem

Most estimation tools ask for accounts, orgs, or paid seats before the team can vote. For a 15-minute refinement, that friction is too high.

I wanted something closer to:

  1. Create a room
  2. Share /room/{id}
  3. Vote
  4. Reveal and discuss

No accounts. Optional password. Done.

What it does

  • Rooms: public or password-protected
  • Roles: moderator, voter, observer (with handoff if the moderator drops)
  • Decks: modified Fibonacci, Fibonacci, powers of two, T-shirt, sequential
  • Aggregation: consensus, mode, median, or mean
  • Voting UX: hidden/revealed cards, optional auto-reveal
  • Teams: overall + per-team results
  • Export: Markdown, CSV, or a photo.

Results view

Stack

Layer Choice
UI Svelte 5
App framework SvelteKit
Language TypeScript
Runtime Cloudflare Workers
Realtime state Durable Objects + WebSockets

Each room is its own Durable Object: one in-memory state machine plus WebSocket fan-out. No Redis, no always-on Node process — the room wakes when people join and stays consistent while they’re connected.

That combo is the interesting part for me: realtime multiplayer UX without babysitting infrastructure.

Design choices that mattered

No accounts on purpose

Session rejoin uses localStorage so people can refresh and come back. Last active tab wins. Simple, good enough for estimation sessions.

Moderators can hand off

If the moderator goes offline, someone else can claim moderation. Real meetings are messy; the tool should survive that.

Export is not optional

After the call, teams want notes. Markdown/CSV export makes the session useful beyond the live board.

Try it

  1. Open planningpoker.free
  2. Create a room
  3. Share the link with your team
  4. Vote and reveal

If you find a bug or want a feature, open an issue or PR on GitHub.

What’s next

If you use it with your team, tell me what broke — or what you wished existed.


Built and maintained by Alejandro Rodriguez Romero / RODRIGUEZROM.

Top comments (0)