Estimate. Retro. Forgotten.
▶ Try it live: scrumlo.com · no install, no signup — start a room and share the link.
An open-source, no-login, ephemeral sprint room. Run blind-reveal planning poker, a facilitated retrospective, a roadmap board, a random picker, and a shared timer over one shareable link · no account, no database, nothing kept after the room ends. The facilitator switches activities live and everyone follows.
Scrumlo (SCRUM-lo) · the agile loop that comes around each sprint, then clears. One link runs the whole ceremony; when everyone leaves, poof.
Other tools keep your boards; Scrumlo keeps nothing · on purpose. There's no database to leak and no account to manage. Each room is one little server that holds your votes and cards only while you're there, then deletes itself. It's open-source, so you can read exactly how · it's not a promise in a privacy policy, it's the architecture.
- Estimate · blind simultaneous reveal (values withheld server-side until reveal), 6 built-in decks plus custom decks, color-coded consensus + a plain-logic outlier nudge ("not in sync · talk to the 3 and the 13"), re-vote, keyboard voting (press the card's value;
Rreveals), a running session velocity, and a story backlog you can paste from CSV/Jira and step through (with per-story decisions in the export). - Retro · a free, zoomable Miro-style canvas (pinch-to-zoom on touch) with 14 formats (Start/Stop/Continue, Sailboat, Starfish, GoT, Avengers, …) and facilitated phases: blind brainstorm (others' notes withheld server-side until reveal) → group → vote → discuss. Drag-to-cluster (votes roll up), dot-voting, reactions, spotlight, live "✎ someone's editing" presence, action items with owners, live cursors, and a fullscreen mode with a floating toolbar.
- Roadmap · a separate Now / Next / Later / Someday planning board on the same canvas, with its own cards: drop ideas, group, dot-vote priorities, export. Ephemeral planning, no database.
- Pulse · anonymous team-health checks in four themes, plus a one-question ROTI close-out — rated blind, revealed as an aggregate with a one-word verdict.
- Poll & Q&A · ask the room anything: upvoted answers, single/multi-choice, or a live word cloud — blind until reveal, with a question queue and a built-in icebreaker deck.
- Pick · random person / shuffle order / pick-from-list, with a spinning wheel, no-repeats, and confetti.
- Timer · a shared facilitator-run countdown, with quick presets, a full-screen "time's up" nudge, a soft chime, and a tab-title flash for backgrounded tabs.
- Export · one-click Markdown, a full-board PNG/PDF, Jira CSV, calendar invites (.ics) for action items, a clipboard carryover code that re-seeds action items into your next room, or a straight-from-the-browser post to a Slack/Teams webhook — all client-side, so the team keeps what matters when the room forgets.
- Room lock · the facilitator can set a passcode; everyone already in stays in, later visitors need the code before the room even renders. Only a hash is kept, inside the room, and it dies with it.
- Open the app and hit Start a room · you get a private link like
scrumlo.com/r/brave-otter-42. - Share the link. Anyone who opens it lands as a spectator and renders instantly; they drop a name to grab a seat and act. No sign-up.
- The facilitator drives. Whoever claims the baton switches between Estimate / Retro / Plan / Pick and starts the shared timer · everyone's screen follows live.
- Estimate: pick a card (or press a number key;
Rreveals). Votes stay hidden until everyone's in, then reveal together. Build a custom deck, queue a backlog (paste CSV/Jira), step through it, and export the results. - Retro: pick a format, then step the room through brainstorm → group → vote → discuss (notes stay hidden until the reveal). Drop stickies on the zoomable canvas, drag to cluster, dot-vote, react, flag action items with owners, and see everyone's live cursors.
- Plan: a planning space with four formats — Now/Next/Later roadmap, mind map, flowchart and impact/effort matrix · drag curved connectors between stickies, group, dot-vote, export.
- Pick: spin the wheel for a random person, shuffle an order, or pick from a comma-separated list · with confetti and no repeats.
- Estimate: pick a card (or press a number key;
- Export before you go. One click gives you Markdown, a full-board PNG/PDF, or a Jira CSV · the only things that survive the room.
- Jira handoff: the export sheet lists every action item (with owner) and locked estimate · check what should become a ticket, hit Jira CSV, then import it in Jira via System → External system import → CSV and map the columns (Summary, Issue Type, Description, Assignee, Story Points). Built entirely in your browser · nothing is sent anywhere.
- Leave. When the last person leaves (or the room idles out), it deletes itself. Nothing to clean up.
- Frontend: React 19 + Vite + TypeScript + Tailwind v4 → static assets.
- Backend: one Cloudflare Worker that serves the app and hosts one SQLite Durable Object per room · authoritative in-memory state, WebSocket fan-out (with Hibernation), write-through to DO storage, idle TTL. No database.
- Realtime: server-authoritative snapshots over WebSockets; high-frequency presence (typing, live cursors, drag) rides lightweight side-channels so a room scales to ~20 people without snapshot spam.
No database. No accounts. No cross-session records. A room is deleted when everyone leaves (or after it idles out). Room state is briefly held in encrypted Durable Object storage so a server restart can't nuke a live retro · so we say "no database / deleted when the room ends," never "nothing is ever written."
No AI, by design. Nothing your team writes is ever summarized, clustered, scored or otherwise processed by a model — not ours, not a third party's. Room content is relayed between participants and forgotten. This is a deliberate product decision, not a missing feature.
pnpm install
pnpm dev # web (vite --watch) + worker (wrangler dev) together
# → http://localhost:8787Or run the two halves yourself:
pnpm build # build the web app -> dist/
pnpm dev:worker # wrangler dev serves the SPA + the DO at http://localhost:8787Note:
wrangler devserves the last builtdist/. After changing frontend code, rebuild (pnpm build) or usepnpm dev(which watches) so you're not staring at a stale bundle.
One Worker, no other services:
npx wrangler login
pnpm deploy # vite build && wrangler deploySQLite-backed Durable Objects run on the Cloudflare Free plan; an idle room costs nothing (WebSocket Hibernation). Room creation is rate-limited per IP.
Honest scope: Scrumlo is for trusted shared links among colleagues, not anonymous public boards. The facilitator can end a room instantly (and optionally lock it with a passcode); anyone can report one (two reports end it). Spectators have their own connection ceiling so watchers can never crowd out participants. See TERMS.md.
Small, focused PRs welcome · see CONTRIBUTING.md. New retro formats and estimation decks are pure data in shared/protocol.ts.
Found a vulnerability? See SECURITY.md.
AGPL-3.0 · it stays open forever.
