A real-time agile toolkit for scrum teams. Run sprint planning poker sessions and retrospective boards — all in one place, no account required. Works on any network including corporate firewalls.
- Instant rooms — generate a room with one click and share the URL
- Fibonacci voting — standard planning poker values: 0, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ?
- Hidden votes — cards stay face-down until the host reveals them
- Vote insights — average plus a vote distribution chart once cards are revealed
- Story titles — host can label what's being estimated each round
- Co-host support — host can promote any participant to co-host so the session survives if the host disconnects
- Team retrospectives — run retro boards alongside planning, with a per-board title
- Export — download a board as CSV, Markdown, or plain text
- Previous action items — review action items from past retros and import them into the current board
- Google sign-in — user profiles via Firebase Authentication
- Guest access — join a session with just a display name, no account required
- Persistent sessions — sessions are saved so you can actively rejoin where you left off
- Live presence — see participant online/offline status in real time
- Host controls — end a session when the team is done
- Real-time sync — powered by Firestore; works on any network including corporate firewalls
- Multiple simultaneous rooms — each team gets an isolated session
- React 19 + Vite
- TypeScript (strict mode) — shared domain types in
src/types/ - Cloud Firestore for real-time state sync
- React Router v7
- Firebase Hosting for deployment
- CSS custom properties — no UI framework
npm install
npm run devOpen http://localhost:5173, set your display name, and create a room.
When you create a room, a Firestore document at rooms/{roomId} is created with you as the host. Everyone who opens the same link subscribes to that document via onSnapshot — all state changes (votes, reveals, new rounds) are written to Firestore and instantly reflected on every participant's screen. Communication goes through Firebase's servers over HTTPS, so it works on any network including corporate firewalls that block WebRTC/UDP.
The host can promote any participant to co-host (★ star button in the sidebar). Co-hosts have the same controls as the host (reveal, reset, story title) and the session continues without interruption if the original host disconnects.
The app is hosted at https://scrumsuite.org.
To deploy a new version:
firebase deployThis runs npm run build automatically (via the predeploy hook in firebase.json) and pushes the built dist/ directory to Firebase. The SPA rewrite rule ensures direct links to rooms (/room/:roomId) resolve correctly. Firestore rules are deployed separately with firebase deploy --only firestore:rules.
You need the Firebase CLI installed and logged in (firebase login) to deploy.
| Command | Description |
|---|---|
npm run dev |
Start local dev server |
npm run build |
Type-check (tsc -b) + production build → dist/ |
npm run type-check |
Run the TypeScript compiler with no emit |
npm run preview |
Preview production build locally |
npm run lint |
Run ESLint |
firebase deploy |
Build and deploy to Firebase Hosting |