ScrumBoost · Design review · v0.2 · Spec committed — no application code yet

The sprint, seen whole.

A desktop & web command center for Scrum Masters: it pulls only your team's slice of Jira, Confluence, and GitHub, turns it into live draggable dashboards, scores issue difficulty against measured effort, and puts a Claude-powered agent beside you to build workflows and brief you by chat or voice.

6 screens mocked below 4 build phases (M1–M4, one v1.0 release) 12 differentiating requirements 32,986-word spec now written July 31, 2026
00

What makes it different

Beyond the features you described, these twelve requirements are what would make ScrumBoost feel unique rather than "another Jira dashboard." Each is annotated in the screens below.

Insight engine

  • Sprint Health Score — one 0–100 number composed of scope stability, velocity trend, blocker age, and review latency; every factor is drillable.
  • Estimate Calibration — story points vs. measured effort, a damped composite of code churn, files, commits, review rounds & comments, and cycle time (generated, vendored and lockfile diffs excluded; a big refactor is log-damped so it can't dominate; deletions still count as work). Classifies issues as under/over-estimated against your team's fitted curve — a signal about the work, never a rating of a person.
  • Story Thread — auto-links Jira issue ↔ branch/commits/PR ↔ Confluence spec into one chronological timeline per story.
  • Scope-creep detector — flags work added mid-sprint and quantifies its burndown impact.

Ceremony automation

  • Auto standup brief — agent compiles per-member overnight changes (commits, PR states, issue moves) into a one-page brief every morning.
  • Retro packet generator — end of sprint: metric deltas, wins, misses, and discussion prompts, drafted for you.
  • Ceremony presets — one-click dashboard layouts for Planning / Standup / Retro; layouts are saved and shareable.

Trust & privacy (adoption-critical)

  • Privacy guardrails — team-aggregate views by default; individual metrics behind an explicit toggle with a visible banner, no leaderboards, viewing is audit-logged. Developer-analytics tools die when teams feel surveilled.
  • Ingestion transparency — per-connector sync status and scope always visible; only data for the roster you declared is ever pulled.
  • Agent approval mode — the agent proposes (a workflow, a Jira comment, a report) and shows a preview; nothing writes back without your click.

Platform

  • Evidence-first suggestions — every recommended action shows the data behind it. Accept/adjust/dismiss feedback tunes exactly one named threshold per suggestion type, deterministically and bounded to ±40% — nothing is learned, nothing crosses teams.
  • What-if sprint simulator — drag issues in and out of a draft sprint to preview capacity and load. A dedicated route, not a widget — explicitly the last thing built in v1.0.
·

Build in four phases

The full vision is several products in one — auth, connectors, analytics, an agent runtime, voice. Building it in slices keeps each implementation plan small enough to execute well (each phase gets its own subagent-driven plan). The spec locks M1–M4 as internal build order only: nothing is cut, and all four ship together as v1.0.

M1 · Foundation

See your team

  • Auth, accounts & onboarding
  • Jira / Confluence / GitHub connectors, roster-scoped sync
  • Command Center + freshness banner
M2 · Intelligence

Understand it

  • Effort & calibration engine
  • Blocker radar, scope-creep detector
  • Team activity + privacy guardrails
  • Evidence-first suggestions
M3 · Agent

Act on it

  • Claude Agent SDK runtime (API key; subscription mode behind a flag)
  • Chat + workflow builder with approval mode
  • Standup / retro automation
M4 · Voice & desktop

Everywhere

  • Desktop packaging polish
  • Voice (push-to-talk)
  • What-if simulator — explicitly last; may land in a v1.0.x patch
ScrumBoost system architecture The web app and desktop shell both call one API gateway. The gateway fans out to auth and accounts, roster-scoped ingestion workers, the insights engine, and the agent runtime. Ingestion reads Jira, Confluence and GitHub and writes Postgres; the insights engine and agent runtime also read Postgres, and the agent runtime calls the Anthropic API. Clients Web app (React) Desktop same UI, native shell API gateway Auth & accounts Ingestion workers scoped, incremental Insights engine Agent runtime Claude Agent SDK Jira Confluence GitHub Postgres Anthropic API
01

Sign in & register

Quiet and fast — the product's personality shows on the brand side, the form stays frictionless. One account works on both web and desktop.

ScrumBoost — Sign in

The sprint, seen whole.

Your team's Jira, Confluence, and GitHub — one living picture, one assistant.

Scoped by design — we only pull data for teammates you list.
Evidence, not vibes — every insight shows its data.
You approve — the agent proposes, you decide.
1

Welcome back

Sign in to your workspace

johnmason1701@gmail.com
••••••••••
Sign in
or continue with
GitHub
Google
New team? Create an account
One account for web and desktop.
  1. 1Email + password, or GitHub/Google SSO. GitHub SSO doubles as a head start for the GitHub connector on the next screen. Registration asks only email, password, and workspace name — everything else waits for onboarding.
02

Connect tools & scope your team

The onboarding wizard is where trust is won: connect Jira, Confluence, and GitHub, then declare exactly whose data may be pulled. The scope preview makes "we don't take more than you gave" visible before the first sync runs.

ScrumBoost — Setup · Step 2 of 4
Account
2Integrations
3Team scope
4First sync
1
JJiraConnected
acme-team.atlassian.net · Atlassian OAuth · read-only · projects:
SCRUM — Core platformPAY — Payments+ Add project
GGitHubApp installed
org: acme-inc · ScrumBoost GitHub App · read-only · selected repositories:
payments-serviceweb-appinfra+ Add repo
CConfluenceNot connected
Link specs and retro pages into story threads.
Connect Confluence
2
Team rosterImport CSV
NameEmailJiraGitHub
Minh Tranminh@acme.devmtranminh-t
Sarah Kimsarah@acme.devskimsarahk
Alex Riveraalex@acme.devariveraarivera
Priya Shahpriya@acme.devpshahpriya-s
Tom Novaktom@acme.devtnovaktnovak
+ Add teammate
3 Scope preview: 2 Jira projects · 3 repos · 5 people · ~14 months history
Estimated first sync: ≈ 4 minutes. Nothing outside this scope is ever requested.
Save & continue →
  1. 1Per-tool connection cards — Jira and Confluence connect via Atlassian OAuth with read-only scopes; GitHub is a GitHub App installation on explicitly selected repositories (read-only permissions, 1-hour tokens — no PAT field ships). Each card shows exactly what is in scope; the exact scope list is printed before consent, and scope is editable any time in Settings. Slack is not here: it's an outbound-only publish target configured later in Settings, never an ingestion source.
  2. 2Roster-scoped ingestion — you map each teammate's Jira username and GitHub handle once; sync queries filter by these identities so no out-of-scope data is pulled.
  3. 3Scope preview before first sync — the system states what it will fetch and how long it will take, which becomes the permanent sync-status bar after onboarding.
03

Command Center

The daily home screen: a widget grid you can rearrange to match how you run the day. Ceremony presets swap the whole layout in one click.

▶ This mock is live — grab a widget by its header and drag it onto another to rearrange (mouse/trackpad).

ScrumBoost — Command Center
Sprint 24 · May 12 – 23 ▾ Preset: Standup ▾
JM
2
Sprint health
78
▲ +6 vs Sprint 23
Velocity ↑Scope stable Blockers 3Reviews OK
1
Burndown — Sprint 24
D1 D8
actual  ideal  31 / 45 pts remaining
Velocity
S19 → S24avg 38.3 pts · now 45
3
Issue difficulty map
Easy Hard 40 issues · Sprint 24
4
Blockers & aging
5dSCRUM-131 · Payment retry flowstuck In Review — reviewer OOOMT
3dPAY-87 · Webhook signatureswaiting on vendor sandboxSK
2dSCRUM-140 · Rate-limit configblocked by infra changePS
Review flow
First review6h
PR cycle time26h
Waiting on review7 PRs
  1. 1Draggable widget grid — rearrange, resize, add/remove widgets; layouts persist per user, and ceremony presets (Planning / Standup / Retro) swap the arrangement in one click.
  2. 2Sprint Health Score — the composite 0–100 metric with its contributing factors as chips; clicking a chip drills into the underlying data.
  3. 3Difficulty heatmap — every issue colored by measured effort (damped churn, files, commits, review rounds & comments, cycle time), so hard spots are visible before they burn the sprint. Effort describes issues, never people.
  4. 4Blocker radar — items stuck beyond team norms, with the reason when detectable; this list feeds the Insights suggestions.
  5. 5Ingestion transparency — always-visible sync freshness per connector; clicking opens sync logs and scope settings.
04

Team activity — GitHub

Everything the team did on GitHub — commits, pushes, PRs, reviews, comments — rolled up per member and streaming as a live feed, always linked back to the Jira story.

ScrumBoost — Team activity
Sprint 24 payments-serviceweb-appinfra
Individual view · logged · expires in 7h 40m JM
1
MemberCommitsPRsMergedReviewsCommentsReview load
MTMinh Tran34651842
SKSarah Kim2855926
ARAlex Rivera2143719
PSPriya Shah2554631
TNTom Novak1733412
3 Live feed
4
Possible match · 0.62 — PR #495 harden retry jitter ↔ SCRUM-131?payments-service · Sarah · 1h ago · below the 0.70 auto-link bar: Confirm · Reject
PR #482 merged — payment retry backoffpayments-service · Minh · SCRUM-131 · 2h ago
Review requested — PR #491 rate-limit configinfra · Priya → Minh · SCRUM-140 · 3h ago
5
PR #482 approved — payment retry backoffpayments-service · External reviewer · ext:9f3a1c · SCRUM-131 · 4h ago
12 commits pushed — feature/webhook-signpayments-service · Sarah · PAY-87 · 5h ago
Comment — "needs a test for the 429 path"PR #491 · Tom · 6h ago
PR #488 approved — checkout form statesweb-app · Alex → Sarah · SCRUM-138 · 8h ago
  1. 1Per-member rollups — commits, PRs opened/merged, reviews given, and comments for the selected sprint and repos. Clicking a row opens that member's story threads, not a surveillance profile.
  2. 2Privacy guardrail in action — the default is team-aggregate, and any aggregate covering fewer than three people is suppressed (k ≥ 3) instead of narrowing to one person. Enabling individual view takes Owner/Admin step-up re-auth plus a stated purpose, auto-expires after 8 hours, and the badge renders from a server response envelope — data can't flow without it. Enable, expiry, and every read are audit-logged; there are deliberately no leaderboards.
  3. 3Live feed with story links — every GitHub event is matched to its Jira issue (branch name, PR title, commit message); clicking opens the full story thread timeline.
  4. 4Low-confidence links ask first — story links at confidence ≥ 0.70 render as active; 0.50–0.69 appear only as possible matches with Confirm / Reject. A weak guess is never silently asserted, and your decision is sticky — recompute never overwrites it.
  5. 5External people are pseudonymised — a reviewer outside the roster (here on PR #482) still counts toward review latency, but their name, handle, and avatar are never stored: they render as External reviewer · ext:9f3a1c, a workspace-salted hash. The roster bounds people, not just repos.
05

Insights & suggested actions

The calibration engine compares story points with measured effort — a damped composite of code churn, files, commits, review rounds & comments, and cycle time, computed after stripping generated, vendored and lockfile diffs — then turns what it finds into suggestions that always show their evidence. Effort is a signal about where work was hard, never a rating of a person.

ScrumBoost — Insights
Sprint 24
JM
1
Estimate calibration — points vs. measured effort
SCRUM-142 SCRUM-96 story points → effort →
under-estimated  over-estimated  calibrated band
effort = damped churn · files · commits · reviews · cycle timeper issue, never per person
This sprint's classification
SCRUM-142Checkout tax rulesUnder-est. · 3 pts
SCRUM-131Payment retry flowStalled 5d
PAY-87Webhook signaturesCalibrated
SCRUM-96Settings copy passOver-est. · 5 pts
SCRUM-138Checkout form statesCalibrated
2
Suggested action
Split SCRUM-142 before it slips again
  • Estimated 3 pts, but 1,240 LOC across 9 files so far
  • 4 review rounds; cycle time already 3.2× team median
  • Similar past issues (n=7) averaged 8 pts of effort
AcceptAdjustDismiss Ask agent to draft the split →
3
Suggested action
Rebalance reviews away from Minh
  • Minh gave 42% of all reviews over the last 2 sprints
  • PRs waiting on Minh: 4 (median wait 22h; team norm 6h)
  • Alex and Tom have review capacity this week
AcceptAdjustDismiss Ask agent to reassign →
  1. 1Calibration scatter — each dot is an issue; the green band is your team's fitted points-to-effort curve, refit from sprint data as work closes (never from feedback). Effort excludes generated, vendored and lockfile diffs, cancels moved code, log-damps churn so one refactor can't dominate, and counts deletions as work — a signal for the Scrum Master, not a score on a person.
  2. 2Evidence-first suggestions — no black-box advice: every card lists the exact signals behind it. Accept/Adjust/Dismiss tunes exactly one named threshold per suggestion type — deterministic, bounded to ±40%, stored as inspectable per-team settings, resettable in one click. No model is trained; nothing crosses tenants.
  3. 3Hand-off to the agent — any suggestion can be handed to the agent to execute as a workflow (draft the issue split, propose reviewer reassignment) — which then goes through approval mode.
06

Agent & workflow builder

A Claude-powered copilot that lives beside the data. You talk (or type); it answers with evidence, builds workflows you can see, and never writes anything back without approval. Anthropic is the launch provider — the provider layer is pluggable from day one.

ScrumBoost — Agent
1 Anthropic · Claude Agent SDK API key · connected Subscription mode · behind a flag
Approval mode ON Voice: push-to-talk ⌥Space
Prepare a standup brief every morning at 9 and post it here and to Slack.
Here's what I'd set up — a 5-step workflow, drafted on the canvas to the right:
  • Runs 09:00 Mon–Fri, your timezone
  • Pulls overnight Jira transitions + GitHub activity for your 5 teammates
  • Summarizes per member, flags new blockers
  • Posts a card here and to #standup
based on 214 events · Sprint 24 · sources: Jira, GitHub
2 Approval needed — create workflow "Daily standup brief"

5 steps · runs 09:00 Mon–Fri · writes to: dashboard, Slack #standup. Nothing runs until you approve.

ApproveEdit stepsReject
4
Message, or hold ⌥Space to talk…
3
Workflow draft — Daily standup brief
Built live by the agent · editable before approval
Trigger09:00 · Mon–Fri · Asia/Ho_Chi_Minh
Jira deltatransitions since yesterday · 2 projects
GitHub deltacommits · PRs · reviews · 3 repos
Claude — summarizeper-member brief · flag new blockers
Publishdashboard card + Slack #standup
  1. 1Provider layer — Anthropic first via the Claude Agent SDK, authenticated with an Anthropic API key. Subscription-token mode exists but ships behind a flag, off by default — its terms approval is an open launch decision (footer). The interface is provider-agnostic so others can be added post-v1.0 without UI changes.
  2. 2Approval mode — any side effect (creating a workflow, posting to Slack, commenting on Jira) is proposed as a card with a full preview. Approve, edit, or reject. Slack itself is outbound-only: a publish target configured in Settings with allowlisted channels, never an ingestion source.
  3. 3Live workflow canvas — the agent builds the workflow visually as it reasons; you can edit steps directly. Saved workflows appear under the Workflows tab and can run on schedules or triggers.
  4. 4Chat + voice — same conversation, two inputs. Voice is push-to-talk first (reliable, private); wake-word can come later.