Statistics Page
The statistics page provides a project-level overview of task data, helping you quickly grasp overall progress and tasks that need attention.
Entering the Statistics Page
After starting the Web interface, click the "Statistics" tab in the top navigation bar to enter the statistics page.
Page Structure
The statistics page is divided into four main areas:
Contribution Heatmap
The top of the page shows a GitHub-style contribution heatmap, visually presenting the number of tasks completed each day over the past year.
The heatmap card provides a completed corpus toggle in the upper-right corner: by default statistics include only active tasks (backlog/tasks/); when enabled, the sample expands to historical completed records in backlog/completed/, and the state is synced to the page URL (completed=1). Top metrics such as average completion time switch corpora together with this toggle.
- Grid layout: 7 rows (Sunday to Saturday) × 53 columns (weeks), consistent with the GitHub contribution graph layout.
- Color intensity: 5 levels, from light to dark, representing the number of tasks completed that day.
- Level 0 (no tasks): light gray close to the background color
- Level 1 (1–2 tasks): light green
- Level 2 (3–5 tasks): medium green
- Level 3 (6–9 tasks): dark green
- Level 4 (10+ tasks): deepest green
- Dark mode: automatically switches to a dark-theme green gradient palette.
- Month labels: abbreviated month names at the top, localized by the current language.
- Weekday labels: abbreviated Sunday, Tuesday, Thursday labels on the left (shown every other row to save space).
Interactions
- Hover: hovering over any cell shows a floating tooltip with the specific date (
YYYY-MM-DDformat) and the number of tasks completed that day. - Click: clicking a cell keeps the tooltip fixed until you click elsewhere on the page or click the same cell again.
- Title: shows the total number of tasks completed in the past year, such as "143 tasks completed in the past year", with automatic pluralization by language.
Status Overview
Basic project statistics are shown at the top of the page:
- Total tasks: total number of tasks in the project.
- Completion percentage: proportion of tasks in Done status.
- Drafts: current number of drafts.
- Average task duration: the fifth card in the top metrics row, showing the average completion time in minutes and sample size for tasks in canonical terminal statuses. The span definition is fully consistent with Gantt chart Actual Start / Actual End (actualStart → createdDate → now fallback chain). Completion only counts canonical terminal statuses—Done is included in the sample; abandoned terminal statuses such as Dropped do not count as completed.
- Status distribution: task counts for each status such as To Do / In Progress / Done.
Average duration is strongly right-skewed (most tasks finish in minutes, a few drag on for weeks), so the card also displays the sample size next to the mean to avoid a single average being misleading.
Priority Distribution
Task distribution across priorities is shown visually:
- High — number of high-priority tasks
- Medium — number of medium-priority tasks
- Low — number of low-priority tasks
- None — number of tasks without a priority set
Project Health
The project health section is the core of the statistics page, showing four types of tasks that need special attention:
| Category | Color | Condition |
|---|---|---|
| At Risk | 🟡 amber | Non-Done tasks with a due date of today or tomorrow |
| Overdue | 🔴 red | Non-Done tasks whose due date has passed |
| Stale | 🔵 blue | Non-Done tasks without a due date, not updated for more than 30 days |
| Blocked | 🔴 red | Tasks with uncompleted dependencies |
The page header horizontally displays the four health indicators as colored dots + counts. Click or hover to view the specific task list for each category.
Health Task Cards
Each health category lists matching task cards below:
- At Risk / Overdue cards: show task title and Due by date.
- Stale cards: show task title and Updated date.
- Blocked cards: show task title and Dependency status.
All cards are clickable and jump to the task edit page.
Hover Tooltips
Hovering over a health indicator dot shows the description for that category:
- At Risk: "Due soon, needs immediate attention"
- Overdue: "Past the due date"
- Stale: "No due date and not updated for more than 30 days"
Automatic Data Refresh
The statistics page supports real-time data sync:
- Server cache: the backend maintains statistics cache and refreshes with a 500ms delay. When tasks are created or modified via the CLI,
backlogcommands, or other means, the statistics page automatically detects the change and updates within about one second. - Client cache: the page uses
localStorageto cache the last loaded statistics result. When reopening the page, cached data is shown first while the latest data is fetched silently in the background, enabling instant loading. - WebSocket push: the server actively pushes updates via the
"statistics-updated"event, so no manual refresh is needed.
Recent Activity
The bottom of the statistics page shows recent project activity:
- Recently created: list of tasks created in the last 7 days.
- Recently updated: list of tasks modified in the last 7 days.
If a task has never been edited, its creation date is used as the fallback for "Recently updated", ensuring newly created tasks are not missed.