Project Commander Docs ← Back to site

Dashboard Tab — Feature Guide

Dashboard tab on the CLAIM project (Claims Platform Migration) — the Include backlog tick box, the overcommitted-team and dependency-conflict notices, the four cards (On Pace? reading Behind pace, Delivery Forecast reading Apr 19, 2027 ON TARGET with odds 75%, Target Date Apr 22, 2027, Progress 15%), and the folded Delivery Forecast — capacity model × demand model, Baselines, Project Statistics and Top Open Risks sections
Dashboard tab on the CLAIM project (Claims Platform Migration) — the Include backlog tick box, the overcommitted-team and dependency-conflict notices, the four cards (On Pace? reading Behind pace, Delivery Forecast reading Apr 19, 2027 ON TARGET with odds 75%, Target Date Apr 22, 2027, Progress 15%), and the folded Delivery Forecast — capacity model × demand model, Baselines, Project Statistics and Top Open Risks sections

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 stat cards across the top, then a run of folding sections beneath them, all folded closed when the tab opens: the Delivery Forecast grid, Baselines, the Project Statistics scorecard, the Velocity History sparkline, and the Top Open Risks list. Every number on the Dashboard is computed by the same shared calculations the Sprints, Scope, Risks, and What-If 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 lead to the Sprints tab, where Auto-Level lives (when capacity overload is detected), and to the Alerts tab (when dependency conflicts are detected).

Questions are asked in the Ask sidebar. The Dashboard no longer has an AI box of its own. To ask a question about the project in words — Will we finish by 31 March?, Which sprints are overcommitted? — press the control at the right-hand end of the tab bar, past the settings gear. It shows the Ask sidebar on every tab, in the app installed in Jira. See the Ask section below and the Ask Panel Guide.

Header / Toolbar

The capacity-overload and dependency-conflict banner pills
The capacity-overload and dependency-conflict banner pills

Include backlog checkbox

A single Include backlog checkbox sits at the top-left of the panel (in sprint mode only; with Sprint Mode off it is not shown). 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, Project Statistics rows, forecast date, and the answers the Ask panel gives. The choice is saved to the project's configuration, so it persists across reloads.

Ticking it means the dates on that work are used as they are, not ignored (ruling 2026-09-19). In the Delivery Forecast, a backlog issue with a due date is worked in the soonest open sprint that ends on or after it; one with no date of its own but an epic that has one borrows the epic's, and the Alerts tab shows that date as borrowed; a typed start date is honoured exactly as typed, so the work cannot be done inside a sprint that finished before it may begin, even when that date is in the past or clashes with the due date. Work with no date at all goes to the team's next real capacity — the first open sprint — and no date is invented for it.

Weekly digest button

The Weekly digest button, top right, opens a window headed Weekly Digest that previews an email-ready summary of the current Dashboard state: a status line, the On Pace?, Delivery Forecast, Target Date and Progress figures with the alert count beside them, then What Changed This Week, Needs Attention and Outlook. The window has an Export PDF button (the file is named weekly-digest.pdf) and a × to close it. The preview is a snapshot at the moment the button was clicked; it does not auto-update if the underlying data changes while the window is open.

The four figures are the four cards' own, as the cards open: On Pace? counts the same issues the card does (so the Include backlog checkbox applies), and the Delivery Forecast figure is the card's date, words and colour — Does not fit the plan and Never in red, a date in green when it is on or before the target.

Export Dashboard button

The Export Dashboard button, beside Weekly digest, generates a landscape PDF of the Dashboard as it stands, with the interactive controls stripped out (the Include backlog checkbox, the two buttons and the card settings panels). It copies what is on screen, so a section that is folded closed is not in the PDF — open the ones you want first. The export honours the current Include backlog state and the current values of the per-card settings. The button reads Exporting... while the file is made, and the file is named dashboard-report-YYYY-MM-DD.pdf. If the file cannot be made, a red line beside the button reads The dashboard could not be saved as a PDF. Nothing was written. and the button can be pressed again.

Capacity Overload banner

Appears in sprint mode when one or more active team members are projected to carry more work than their capacity in one or more open sprints, under the Delivery Forecast card's capacity model. Reads "N team members overcommitted across M sprints — Auto-Level to rebalance" with a ⚠ icon. Clicking the banner opens the Sprints tab, where the Auto-Level button is; it does not start Auto-Level itself.

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.

Tab bar buttons

The project picker and four small buttons sit at the right of the tab bar, above every tab, not on the Dashboard itself. The picker is hidden on the Projects tab, which lists every project already. In order: Guide (an open book, opens the help site), Refresh (circular arrows, on every tab including Projects once a project is registered, but not in demo mode), the settings gear, which opens the global Settings panel, and last of all the control that shows and hides the Ask sidebar (in the app installed in Jira only — see the Ask section below). The gear is not shown when the app runs as a gadget on a Jira dashboard, where Jira's own Configure control opens the same settings.

Notices above the cards

When team members are set up but none is allocated to this project, an amber notice above the cards says so: Team capacity for the project reads 0 and team-based forecasts stall until each person's allocation is set. With no issues to show, the tab says Connected, but no issues match yet. and lists the likely causes (a JQL filter that matches nothing, a changed board, or lost access); before any project is registered it shows the same notice every tab shows, pointing to the Projects tab.

Last updated

A Last updated HH:MM line sits at the top-right of the tab once data has been fetched, so the freshness of the numbers is always visible.

Read in full at 9:02 AM, changes since then at 9:41 AM

When the app reads a real Jira project it keeps a copy of that project in this browser, for the person signed in, and the line at the top right that used to read Last updated says where the issues came from: Read in full at 9:02 AM, changes since then at 9:41 AM. The first visit of the day reads the project in full. Every visit after that asks Jira only for the issues changed since the last read, plus two minutes of overlap, and merges them in, so a big project is read in full once a day and in a second or two after that. After every such read the app asks Jira how many issues the filter matches; if that differs from the copy (an issue deleted, or one that joined or left the filter without being touched) the project is read in full at once. A read that could not finish is never trusted; the next visit reads in full. Jira's count is one Jira itself calls approximate: when it lags behind a very recent change the app reads in full more often than it strictly needs to, and a deletion the count has not yet noticed stays on screen until the next full read of the day, or Refresh. The copy is per person and per browser; two people sharing a computer never see each other's issues, and a person on two computers reads in full once on each. Refresh and Start over remove the copy, in the web app so does Log out, and a copy not used for 7 days is removed the next time the app opens; the website's privacy policy and security page say the same.

When the project is read. A project's issues are read when the first tab that needs them is opened, and read again after every change the app writes to Jira (a points edit, a move between sprints, a sprint created, started, completed or deleted, dates written from the Timeline, an Auto-Level accepted, and the rest), when you come back to the app after opening an issue in Jira, when you press Refresh, and when a tab is opened more than five minutes after the last read. Switching between tabs inside those five minutes shows what was already read and reads nothing; before 15 September 2026 every tab switch read the project again and, on a large project, worked the forecast out twice. While a read is in flight, Scope, Alerts, Team & Capacity and Trends keep showing what they have; a tab reads Loading issues... only when there is nothing to show yet.

A change the app writes to Jira is on every screen at once: the Sprints tab patches its own card, and the same change is laid over the issues the Dashboard, Scope, Alerts, Team & Capacity and the Projects table read, so they agree from the moment Jira accepts the write. The app then confirms the change by reading the written issues back directly, by key. Jira answers that read from its own record the moment the write is accepted, so it never depends on how quickly a site's search catches up. Jira's search, which every ordinary read goes through, shows a write only after a delay that differs from site to site (measured on one site on 15 September 2026: a changed field in about a sixth of a second, a move between sprints in under a second, a newly created issue in up to three and a half seconds; another site's figures are its own), and a read made before it has caught up would bring the old issue back and, merged into the kept copy, put a moved issue back where it came from. So the confirmed issues are laid over every later read, and written into the kept copy, until a read brings each one back at least as new as confirmed; nothing waits any set time. A change to the order of issues never marks an issue as updated in Jira; the app keeps its own order, so nothing is confirmed for it. Since the same day, work moved from one future sprint to another is read as being in the sprint it moved to; before, the first future sprint in Jira's list was taken, which put moved work back where it came from on every screen.

Refresh, the circular-arrows button in the tab bar between Guide and the settings gear (on every tab, Projects included, and not in demo mode), reads the selected project from Jira in full now, whatever the copy says. Start over in Settings clears the copies. A copy not used for seven days, such as one made for a filter that has since changed, is tidied away on its own. Closing the app or the browser does not remove a copy. Demo mode keeps no copy.

Big projects arrive in more than one call

While a project is being read the screen shows only Loading..., and when the read fails it shows Error loading data with Jira's reason beneath; neither line names the project, so with several registered, the project picker at the top right says which one it is. A project with thousands of issues no longer fails to load. The app reads it in calls of up to 18 seconds each, draws what has arrived, and asks for the rest until the whole project is in. While that is happening a line at the top right, beside where Last updated goes, reads Showing 2,400 of about 3,100 issues; the rest are still loading. (the second figure is Jira's own count for the project's Issue filter; without it the line reads Showing 2,400 issues so far; the rest are still loading.). The same line appears on the Sprints tab above the cards, on the Scope tab above the chart, and on the Trends tab in place of its loading line. Only when a single page of issues cannot be read inside the limit does the line change to the message asking you to narrow the project's Issue filter on the Projects tab; the issues already read stay on screen.

Stat cards

Stat cards on the CLAIM project — On Pace? (Behind pace: 80 pts completed against 156 pts planned by now), Delivery Forecast (Apr 19, 2027, ON TARGET, odds 75%), Target Date (Apr 22, 2027), Progress (15%: 80 pts done, 471 pts remaining)
Stat cards on the CLAIM project — On Pace? (Behind pace: 80 pts completed against 156 pts planned by now), Delivery Forecast (Apr 19, 2027, ON TARGET, odds 75%), Target Date (Apr 22, 2027), Progress (15%: 80 pts done, 471 pts remaining)

Four cards across the top — On Pace?, Delivery Forecast, Target Date, Progress — each with a coloured left edge, a headline value, and ONE line of supporting figures beneath it. (Until 2026-08-24 those figures were stacked one per line, which made each card four rows taller for the same facts; they now read across a single line separated by dots, the shape the Scope tab's card already used.) Three of the cards carry a gear that opens a settings panel beneath the row: the Delivery Forecast card's gear is its own (the two model pickers + scope growth), and the On Pace? and Target Date gears open their shared settings. Progress has no gear. Every one of the four titles also carries a small information mark (ⓘ): resting on it gives one line on what the card measures, and clicking it opens the full explanation, including what makes the card green, amber or red — the On Pace? card's 5% either side of the plan, that Progress is a share and has no thresholds of its own, and where the target date is set. (Since 17 September 2026 the hover is the short line and the click the full text; before, the hover carried everything.) When the On Pace? and Target Date settings are open the row reflows to give the Delivery Forecast card extra width. Since 2026-09-04 these are the SAME four cards the What-If tab draws (it hides On Pace? and Progress), computed once and drawn once: until then the Dashboard kept its own copy of the cards and of every calculation behind them, and the two copies had drifted apart.

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.

Delivery Forecast — capacity model × demand model

Delivery Forecast — capacity model × demand model, opened, on the CLAIM project (Claims Platform Migration): the four capacity models down the side (Each sprint's own setting, Effective team capacity, Team capacity, Velocity) against the three demand models across the top (Ignore dependencies, Respect dependencies, Resequence work); every square gives a finish date, how many days early it is and its on-target odds, the soonest flagged ★ Earliest (Each sprint's own setting · Resequence work, Apr 9, 2027, 13 days early) and the latest ▲ Latest (Each sprint's own setting · Ignore dependencies, Apr 19, 2027); the Critical Chain only column is merged down the right with its one date, Nov 2, 2026; beneath is the detail panel for the selected square, Each sprint's own setting · Ignore dependencies, with finish Apr 19, 2027, on target odds 75%, Remaining 471 pts and Capacity to target 536 pts
Delivery Forecast — capacity model × demand model, opened, on the CLAIM project (Claims Platform Migration): the four capacity models down the side (Each sprint's own setting, Effective team capacity, Team capacity, Velocity) against the three demand models across the top (Ignore dependencies, Respect dependencies, Resequence work); every square gives a finish date, how many days early it is and its on-target odds, the soonest flagged ★ Earliest (Each sprint's own setting · Resequence work, Apr 9, 2027, 13 days early) and the latest ▲ Latest (Each sprint's own setting · Ignore dependencies, Apr 19, 2027); the Critical Chain only column is merged down the right with its one date, Nov 2, 2026; beneath is the detail panel for the selected square, Each sprint's own setting · Ignore dependencies, with finish Apr 19, 2027, on target odds 75%, Remaining 471 pts and Capacity to target 536 pts

A collapsible section beneath the four stat cards, headed Delivery Forecast — capacity model × demand model (open it with the card's See detail below link or the section header), that answers "when will this finish, and what changes the answer?" by showing every capacity model × demand model pairing at once in one grid.

The four demand-model dates stay physically consistent: the dependency-respecting orders never read earlier than the Critical Chain floor, and Respect dependencies never reads earlier than Ignore dependencies. In the program (all-projects) view the grid rolls up per project — each project on its own team's capacity (with that project's allocation applied) — so the program finishes with its slowest project and the capacity model reads Per project.

When the dependency-ordered and resequenced columns cannot be calculated, the section degrades to the plain capacity comparison and says so on screen: a note reading The dependency-ordered and rebalanced columns couldn't be calculated for this project, so only the capacity view is shown. Technical detail for support: followed by the underlying message in selectable monospace text — the reason can be copied straight off the screen for support, with no browser console needed.

Baselines

Baselines section — capture bar, the period picker (All Time, Weekly, Biweekly, Monthly, Quarterly, Yearly) with date navigation, the slip-vs-target timeline, and the snapshot table
Baselines section — capture bar, the period picker (All Time, Weekly, Biweekly, Monthly, Quarterly, Yearly) with date navigation, the slip-vs-target timeline, and the snapshot table

A collapsible section for capturing named snapshots of the plan and watching how the forecast moves over time.

A capture bar, headed Create baseline — type a Name (required; leaving it empty shows Enter a name for the baseline.), press Capture baseline or Enter — freezes the current plan. Until the first baseline is captured, the section shows only the capture bar and the line No baselines captured yet — capture one to start tracking how the forecast moves against your target.

Once there is one, each snapshot appears on a timeline — one row per baseline plus the live Current row, with its capture date, its forecast (F) and its target (T) marked, and a period picker (All Time, Weekly, Biweekly, Monthly, Quarterly, Yearly, with ◀ ▶ arrows and a start date) that focuses the timeline on any stretch of dates — and in a table with the columns Baseline, Captured, Target, Delivery Forecast, Slip vs target, Moved, Scope, Capacity (the number of people on the team), Issues, Sprints, Velocity (per sprint), Open risks (with how many are high or critical), Open alerts and Actions. Moved (added 2026-09-13, proposal 89) is how many of the issues that baseline knew about have moved since — an issue's forecast finish then against its finish today, in working days, an issue finished since measured on its real finish date. Click N moved to open, beneath the row, the list of those issues worst first (up to 40) with the working days each moved, (finished since) where it applies, who held it then if it has been reassigned, and how many issues were added or removed since. It is the same comparison the Timeline tab's Show baseline dropdown draws. A baseline saved before per-issue dates were kept shows a dash, and hovering it says This baseline was saved before per-issue dates were kept. Capture a new baseline to compare. Slip is how far a baseline's forecast lands before or after its target; hovering a timeline row breaks the slip out against every earlier baseline, with the scope and capacity behind each change.

Since 2026-09-13 a baseline also records each issue in scope at capture, finished ones included (proposal 89): its key, summary, assignee, epic, sprint, size and unit, status, its own start and due dates as Jira held them, the date it was finished if it was, and the forecast start and finish the schedule gave it that day — the same work list and scheduler the Timeline tab draws from. That record is kept separately beside the snapshot, written once at capture and deleted with the baseline; a list is capped at 1,500 issues and the snapshot says how many were left out. The Moved column above and the Timeline tab's Show baseline dropdown read it.

Snapshots are frozen — later data changes never alter a saved baseline — and are saved in the app's cloud storage, kept separately per project and per program. Saved baselines can be renamed (Rename) or deleted (Delete, which asks first) from the Actions column; the live Current row cannot. After many baselines a line suggests deleting ones you no longer need. The delivery forecast a baseline records follows whichever demand model is selected in the Delivery Forecast section above; when the work does not fit the plan the baseline records that, and its Delivery Forecast column reads Does not fit the plan.

Project Statistics

Project Statistics with every row opened — Scope (scope then and now, and the change), Team Capacity (remaining demand, remaining capacity to target, utilization, buffer), Team Balance (each person's load), Commitment vs Delivery (completed against committed per recent sprint), Estimate Accuracy (time spent against original estimate), Dependency Conflicts (each blocker finishing after the work it blocks), and the Alerts row
Project Statistics with every row opened — Scope (scope then and now, and the change), Team Capacity (remaining demand, remaining capacity to target, utilization, buffer), Team Balance (each person's load), Commitment vs Delivery (completed against committed per recent sprint), Estimate Accuracy (time spent against original estimate), Dependency Conflicts (each blocker finishing after the work it blocks), and the Alerts row

A collapsible scorecard with two columns, Factor and Explanation. Each row is a factor with a one-line explanation, and rows with more to say carry an expand caret that opens a detail block listing the specific issues, sprints, or members that produced the verdict.

The visible Project Statistics rows, in order, are Scope, Team Capacity, Team Balance, Commitment vs Delivery, Estimate Accuracy, Dependency Conflicts and Alerts — 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) — they are deliberately filtered 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. Each factor is still classified behind the scenes as OK, Caution, At Risk or Unknown by its own thresholds (listed above), and that classification chooses the wording of the explanation.

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 text is sanitised — only basic formatting (bold, line breaks, and lists) is allowed.

Per-row tooltips

Resting on a factor name shows a one- or two-sentence definition of the measure, with its green / amber / red thresholds for most rows.

Ask — questions are asked in the Ask sidebar

The Dashboard used to carry an AI Insights box at the bottom of the tab. It was replaced on 18 September 2026 by the Ask panel, and that sidebar is shown from the tab bar, not from this tab: press the control at the right-hand end of the bar, past the settings gear, on any tab (resting on it reads Show the Ask sidebar or Hide the Ask sidebar). A sidebar headed Ask, with the project key beside it, slides in down the right-hand side over whichever tab you are on, starting below the tab bar so nothing in that bar is covered, and the figures that prompted the question stay in front of you. The same control slides it back out; the sidebar has no close button of its own.

The change is one of kind, not of looks. The old box sent the Dashboard's numbers to an AI provider and printed the paragraph that came back, so every figure in it was one a model had written. The panel asks the app's own forecasting and capacity calculations — the same ones the cards on this tab are drawn from — and no AI is asked anything: every word of an answer is the app's own (since 30 September 2026; the AI settings themselves were taken out of the app on 6 October 2026). The same question asked twice gives the same numbers. A question is answered on the figures the app already holds, however old; nothing is read from Jira first, and Refresh in the tab bar is how the project is read again.

What you see in the sidebar:

Ask is offered in the app installed in Jira, including its Jira dashboard gadget. It is not offered in the web app on the website, in demo mode, or before a project is registered.

The Ask Panel Guide has the full list of what it answers and what it refuses.

Velocity History sparkline

A folding section, headed Velocity History, visible in sprint mode with at least two sprints in the velocity history that completed work. Hidden in the Program view. It was also switched off in demo mode from the day it was built in April 2026 until 12 September 2026, which is why no screenshot of it existed and the website illustrated the chart with a picture of the sprint table instead.

Velocity History on the Dashboard — one bar per closed sprint, the newest darker, the dashed average line across them, and the trend label
Velocity History on the Dashboard — one bar per closed sprint, the newest darker, the dashed average line across them, and the trend label

Top Open Risks widget

Top Open Risks widget
Top Open Risks widget

Lists the five highest-score open risks for the selected project (its own risks plus program-wide ones; in the Program view, the whole register) regardless of source — risks typed on the Risks tab and accepted suggestions from the app, which carry a ✨. Each row shows the score in a badge coloured by severity (resting on it gives the probability × impact behind it), a scope chip (e.g., PROJECT · DEMO), the response strategy chip (UNDECIDED / AVOID / MITIGATE / TRANSFER / ACCEPT / ESCALATE / DEFER), the risk title, the owner (Unassigned when there is none), and an action progress line (N/M actions done, or 0 actions). Clicking a row opens the Risks tab scrolled to the matching item; View all → at the foot opens the Risks tab. With no open risks the widget reads Needs more data — No open risks yet. The widget will appear once your team starts tracking risks.

Above the rows the header shows Top Open Risks, the open count and the critical count (e.g., 6 open · 3 ⚠ — the warning figure counts critical-severity open risks only, not high), the line Highest-score risks across the project. Click through to the Risks tab for full context., and a strategy mix bar (e.g., "3 undecided · 4 mitigate · 2 accept · 1 escalate", in the order undecided, mitigate, accept, escalate, defer, avoid, transfer). Zero-count buckets are hidden. At the same score the widget puts Undecided and Escalate risks first, then Avoid, Mitigate and Transfer, then Defer, then Accept, so attention-demanding items surface first; Defer risks are left out of the widget until their review window opens (review-by minus 3 days).

The risk register and response strategies 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 · Privacy · Security · Terms