Project Commander Docs ← Back to site

Dashboard Tab — Feature Guide

Dashboard tab — full view
Dashboard tab — full view

What it's for

The Dashboard is the project's single-screen health view. It collapses the full state of the project — schedule, scope, team capacity, data quality, delivery confidence — into four big stat cards across the top, a Project Statistics scorecard, a Velocity History sparkline, an AI Insights section, and a Top Open Risks list. Every number on the Dashboard is computed by the same shared utilities the Sprints, Scope, Risks, and Plan-Risk tabs use, so a verdict here will match the verdict on any other tab.

The audience is the project lead, delivery manager, or stakeholder who needs the answer to one question — Are we on track to hit the deadline? — and a quick path into whichever tab can answer the follow-up. Banner pills at the top of the tab link directly into Auto-Level (when capacity overload is detected), into Alerts (when dependency conflicts are detected), and into the Project AI assistant (for narrative analysis).

Header / Toolbar

Header banners with Include backlog, Weekly Digest, Export Dashboard, plus capacity-overload and dependency warning pills
Header banners with Include backlog, Weekly Digest, Export Dashboard, plus capacity-overload and dependency warning pills

Include backlog checkbox

A single checkbox sits at the top-left of the panel. Unchecked, the Dashboard counts only issues that are in a sprint plus all done issues. Checked, it adds in everything that matches the project's JQL filter, including unscheduled backlog work. Every downstream number recomputes when this toggles — stat cards, diagnostics rows, AI insights, forecast date. The setting is per-session and resets on reload.

Weekly Digest button

Opens a modal that previews an email-ready summary of the current Dashboard state — stat cards, top alerts, recent throughput, scope growth, risks. From the modal the user can copy the HTML, download a PDF, or close. The preview is a snapshot at the moment the button was clicked; it does not auto-update if the underlying data changes while the modal is open.

Export Dashboard button

Generates a single-file PDF report of the Dashboard with interactive controls stripped out. The PDF includes the four stat cards, the Project Statistics table, Velocity History, and Top Open Risks. The export honours the current Include-backlog state and the current values of the per-card settings. The file is named dashboard-report-YYYY-MM-DD.pdf.

Capacity Overload banner

Appears when one or more team members are projected over 100% utilisation across one or more open sprints. Reads "N team members overloaded across M sprints — Auto-Level to rebalance" with a yellow ⚠ icon. Clicking the banner navigates to the Sprints tab and opens the Auto-Level preview.

Dependency Conflict banner

Appears when the Alerts engine has detected one or more dependency conflicts (blocker due after blocked, blocker after dependent start, circular dependency). Reads "N dependency conflicts — review in Alerts tab" with a 🔗 icon. Clicking the banner navigates to the Alerts tab.

External Deadline banner

Appears when one or more issues have an external (locked) due date and are scheduled in a sprint that ends after that date. Reads "N externally-constrained issues at risk of missing their deadline" with a 📅 icon. The banner is informational and does not link out.

Notification bell, info icon, settings cog

Three icons sit at the top-right. The bell opens the Notifications slide-out (the operational feed described in ALGORITHMS — Notification Engine). The "i" icon opens the Project AI floating chat. The cog opens the global Settings panel.

Stat cards

Stat cards — On Pace?, Delivery Forecast, Target Date, Progress
Stat cards — On Pace?, Delivery Forecast, Target Date, Progress

Four cards across the top. Each has a primary value, two secondary lines, and a per-card gear that toggles a settings panel beneath the card. When any card's gear is open the four-column layout reflows so the open card gets extra width.

On Pace? card

Shows whether earned work to date is ahead of, on pace with, or behind the planned amount of work for today. The headline reads Ahead of pace, On pace, or Behind pace depending on the result.

Delivery Forecast card

Shows the projected end date for all remaining work against the target date.

Target Date card

Shows the deadline the rest of the Dashboard is measuring against. Always blue (no status colour).

Progress card

Shows the overall percentage complete. Always purple.

Project Statistics

Project Statistics scorecard with grouped factors
Project Statistics scorecard with grouped factors
All Project Statistics rows expanded — Team Capacity (132% loaded with buffer 0), Team Balance (per-member workload list), Commitment vs Delivery (per-sprint completion history), Estimate Accuracy (time spent vs original), Dependency Conflicts (blocker-after-blocked details), Alerts row totals
All Project Statistics rows expanded — Team Capacity (132% loaded with buffer 0), Team Balance (per-member workload list), Commitment vs Delivery (per-sprint completion history), Estimate Accuracy (time spent vs original), Dependency Conflicts (blocker-after-blocked details), Alerts row totals

A collapsible scorecard. Each row is a factor with a one-line explanation, and an expand caret that opens a detail block listing the specific issues, sprints, or members that produced the verdict.

The visible Project Statistics rows are the Health factors plus the Quality / data factors. The Schedule factors (On Track, Sprint plan based, Team velocity based, Schedule Performance, Completion %, Work Ratio, Can We Deliver?) are computed by the same engine but folded into the Stat Cards above (On Pace?, Delivery Forecast, Target Date, Progress) — the code lists them in REDUNDANT_FACTOR_IDS and filters them out of the visible scorecard so the cards and the table never disagree.

Health block (group: health, visible in Project Statistics)

Quality / data block (visible in Project Statistics)

Schedule block (computed but folded into stat cards)

Status classification

The table itself has no status column or colour dot — each row shows only the factor name and its plain-English explanation. The underlying classification still exists: bands come from HEALTH_THRESHOLDS in colors.js (excellent: 85, healthy: 70, atRisk: 55, concerning: 40) and from the per-factor thresholds in dashboardFactors.js (OK / Caution / At Risk / Unknown). That classification no longer renders as a dot here, but it still shapes the wording of each explanation and drives the severity-aware tone of the AI Insights section.

Detail rows

Clicking a factor's row toggles its expand area. The detail can be a list of issues (linked to Jira), a list of sprints, a list of members, or a short explanation of the threshold that fired. Detail HTML is sanitised — only <strong>, <br>, <li>, <ul>, <ol> are allowed.

Per-row tooltips

Each factor name has a hover tooltip with the metric definition and threshold table.

AI Insights

A collapsible section that runs the same AI provider used elsewhere in the app and produces a narrative analysis of the visible factors plus a chat box for follow-ups.

Auto-fire on fingerprint change

The section computes a fingerprint string built from each visible factor's id + status + explanation, then keeps the last-seen fingerprint in sessionStorage. When the fingerprint changes — a factor turns red, an explanation updates, a factor is added or removed — the section re-fires an AI call automatically. No button click is required.

Severity-aware tone

The prompt includes a tone-guide line that switches based on the count of red factors:

Two grouped output sections

The model returns bulleted text. The app classifies each bullet by keywords (scope / capacity / delivery / estimation / etc.) and groups them under Project Status and Team & Plan Health. A separate Recommendations list sits below.

Expandable bullets

Clicking any bullet either reveals inline detail (when the model already provided a DETAIL: line) or fires a follow-up AI call asking "Give more detail on this specific point". The expanded text appears beneath the bullet.

Follow-up chat

Below the bulletted output, a textarea + Ask button accepts free-form questions. The user's text is concatenated with the factor block and the previous AI analysis, then sent in chat mode. If the model's response is JSON containing a simulatorAdjustments object, the app appends an Open the What-If tab to explore this scenario interactively link with the suggested slider values.

No-key state

If neither aiApiKey nor anthropicApiKey is configured, the section displays Configure an AI API key in Settings to enable AI Insights. The auto-fire is skipped, the chat box is disabled.

Velocity History sparkline

Visible in sprint mode with at least two closed sprints and demo/regression mode off. Hidden in Program-All mode.

Top Open Risks widget

Top Open Risks widget
Top Open Risks widget

Lists the highest-severity open risks across the project regardless of source — manual risks, accepted AI suggestions, and any deterministic-detector output that has been promoted into the register. Each card shows the severity score, scope chip (e.g., PROJECT · DEMO), the response strategy chip (UNDECIDED / AVOID / MITIGATE / TRANSFER / ACCEPT / ESCALATE / DEFER), the risk title, the owner, and an action progress line (N/M actions done). Clicking a card navigates to the Risks tab pre-scrolled to the matching item.

Above the cards the header shows the open / critical-and-high counts and a strategy mix bar (e.g., "4 mitigate · 2 accept · 1 escalate · 3 undecided"). Zero-count buckets are hidden. The widget sort puts Undecided and Escalate risks above Accept at the same severity score so attention-demanding items surface first; Defer risks are excluded from the widget until their review window opens (review-by minus 3 days).

The risk register, response strategies, and detector definitions are documented in the Risks Tab guide and in ALGORITHMS section 13 — Sprint Risks.

Cross-cutting modes and settings

How the numbers are computed

Every Dashboard number is produced by a shared utility:

Refer to ALGORITHMS.md for thresholds, formulas, and bands.

Effects on other parts of the app

© 2026 Project Commander · projectcommander.app · Support