Projects

How projects group KPIs: creating and editing, the three status values, moving KPIs between scopes, dashboard grouping and what deleting a project removes.

A project in Pulsaria is a grouping label for KPIs. Every KPI belongs either to exactly one project or to no project at all — the latter is called Company-wide. Nothing about a KPI’s maths changes when it joins a project; what changes is where its card appears and which roll-up counts it.

What a project is for

A project gives you five things:

  • A collapsible section on the Dashboard, headed with the project name.
  • A card on the Projects screen with a status roll-up: how many of its KPIs are on track, at risk and off track.
  • A detail screen that shows only that project’s KPI cards.
  • A scope option in the Daily Entry screen’s dropdown, so you can type in one project’s numbers without scrolling past the rest.
  • A projectName column in the CSV export.

A project has no target, no period, no chart and no history of its own. Each KPI keeps its own target, ideal line and values regardless of scope, so moving a KPI in or out of a project never changes a single number.

Creating a project

There are three ways in, and all of them open the same dialog:

  1. Projects → New Project (top right of the screen).
  2. On a fresh install, Dashboard → Create project. This takes you to the Projects screen with the dialog already open.
  3. The cyan hint banner “Group your KPIs into projects” → Create a project. That hint appears once you have three or more company-wide KPIs and no projects yet.

The dialog is titled New Project and has three fields:

FieldRequiredNotes
NameYesPlaceholder e.g. Growth 2026. Leaving it empty shows “Name is required” in red and blocks the save. Names are not checked for uniqueness — two projects can share a name.
DescriptionNoA single-line text field, placeholder Short description. It is shown under the name on the project card, truncated to two lines.
StatusNoActive, On Hold or Completed. Defaults to Active.

Press Create Project to save. A “Project created” toast confirms it and the new card appears at the end of the list.

There is no icon or colour picker. The card’s accent colour comes from its position in the list, cycling through cyan, purple, emerald and amber.

The three status values

StatusBadge colour on the card
ActiveGreen
On HoldAmber
CompletedGrey

Project status is a note to yourself. Nothing in Pulsaria reads it: a Completed or On Hold project still shows up on the Dashboard, its KPIs still appear in the Daily Entry scope list, still count in the Weekly Review, and its automated KPIs still fetch on their schedule.

You can set the status in the create or edit dialog, or change it directly on the project detail page with the segmented control under the description. That control saves immediately — there is no Save button next to it.

Company-wide vs. project KPIs

Every KPI stores one scope. “Company-wide” is not a special project; it simply means the KPI has no project attached. Company-wide KPIs:

  • always form the first group on the Dashboard, above every project group,
  • are not counted in any project’s roll-up,
  • appear under Company-wide in the Daily Entry scope dropdown,
  • and get an empty projectName cell in the CSV export.

In the KPI dialog, Scope defaults to Company-wide unless you opened the dialog from a project context.

Putting a KPI into a project

When you create it

The place you start from decides the pre-selected scope:

  • Projects → + KPI on a project card → that project.
  • Project detail → New KPI → that project.
  • Dashboard → + KPI in a project’s group header → that project.
  • Dashboard → + KPI in the Company-wide header, or the empty-state Create KPI button → no project.

Whatever you started from, you can still change the Scope dropdown in the dialog’s Goal section before saving. See Anatomy of a KPI for the rest of the form.

Moving one later

  1. Open the KPI’s detail page by clicking its card.
  2. Click Move to… in the button row at the top right.
  3. Pick a target from the dropdown. It lists Company-wide first, then every project. The current scope carries a check mark and cannot be clicked.

The move is saved immediately and a “Moved to X” toast confirms it. Only the KPI’s project link changes — its values, history, fetch log rows and alerts stay exactly as they are, and they are not re-dated or re-scoped in any way. The card simply appears under a different heading.

There is no Move to… control on the dashboard card, and no multi-select. Moving several KPIs means opening each one’s detail page in turn.

Duplicating a KPI keeps its scope: the copy lands in the same project as the original, with an empty history.

The Projects screen

The screen is a heading, a New Project button and a grid of cards — one column on a narrow window, two from small widths, three on wide ones. Projects are listed in the order you created them. There is no search, no filter, no sorting and no way to reorder them.

Each card shows, top to bottom:

  • A folder icon in the card’s accent colour, the project name, and the description clamped to two lines.
  • The status badge and the KPI count, e.g. 3 KPIs.
  • A thin stacked bar in green / amber / red.
  • A legend under the bar: 2 on track, 1 at risk, 1 off track. A counter that is zero is not printed at all, so a card never reads “0 at risk”.
  • A + KPI button in the bottom right, which opens the KPI dialog with this project pre-selected.

Clicking anywhere else on the card opens the project detail page.

Two things about those counts are worth knowing. KPIs that have no recorded value yet are deliberately left out of the off-track number, because their card shows a neutral state rather than a red one — so the three counters need not add up to the KPI count. And the red segment of the stacked bar fills whatever width is left over instead of getting its own proportional share, so it can look larger than the count suggests when some KPIs are still empty.

When you have no projects at all, the screen shows “No projects yet” with the line “Group KPIs into projects to see focused progress.” and a purple New Project button.

The project detail screen

Reached by clicking a project card. From top to bottom:

  • A Back to Projects link.
  • The project name, and on the right the buttons Edit, Delete and New KPI.
  • The description.
  • The status segmented control: Active / On Hold / Completed.
  • Stat pills: the KPI count, then On Track, At Risk and Off Track — each only when the number is above zero, and off-track again excluding KPIs with no data.
  • A flat grid of that project’s KPI cards, identical to the ones on the Dashboard.

The grid here has no grouping, no filter and no sorting, and there is no empty state: a project without KPIs shows blank space under the pills. Use New KPI to fill it.

All controls on this screen — including the status switcher — are disabled with the tooltip “Requires a license or active trial” when your trial has expired or a licence was revoked. See Trial & licence.

Projects on the Dashboard

The Dashboard groups KPI cards by scope, in a fixed order:

  1. Company-wide — every KPI with no project.
  2. One section per project, in the order the projects were created.
  3. Other — only if it has something in it (see below).

Every project gets a section, even one with no KPIs yet. An empty section shows the hint No KPIs here yet — use “+ KPI” to add one. next to its own + KPI button, which makes the Dashboard a reasonable place to start filling a fresh project.

Each group header carries the group name, the KPI count and coloured dot counters for on track / at risk / off track — again, only the counters above zero and again excluding no-data KPIs from the red one.

Collapsing a group

Click a group header to collapse or expand it. The chevron rotates and the section animates closed over 250 ms. Collapsed groups are remembered in the app’s own config.json, so they stay collapsed after a restart. That file sits next to the app’s settings rather than in your KPI data folder, so the collapsed state is per Mac and is not carried over by an export.

There is no “collapse all”, and groups cannot be reordered or renamed from the Dashboard — renaming a group means renaming the project.

The “Other” group

If a KPI points at a project that no longer exists, Pulsaria does not hide it. It goes into a catch-all group called Other at the bottom of the Dashboard. That group has no + KPI button, since it is not a real scope you can create into.

In normal use this group never appears — deleting a project deletes its KPIs with it. It exists for imported files and hand-edited data, so nothing goes silently missing.

Editing a project

Open the project’s detail page and click Edit. The dialog is the same one as for creating, titled Edit Project, pre-filled with the current values, and its submit button reads Save Changes. A “Project saved” toast confirms it.

Renaming a project changes the label everywhere from that moment on: the card, the detail page, the dashboard group header, the Daily Entry scope dropdown and the projectName column of future CSV exports. KPIs are linked by an internal id, not by name, so nothing breaks.

Editing is only available from the detail page. The project card has no Edit or Delete control.

Deleting a project

Open the project’s detail page and click Delete. A dialog titled Delete Project asks: “Delete name and all its KPIs? This cannot be undone.” Confirm with Delete and you are returned to the Projects list with a “Project deleted” toast.

Deleting a project is a cascade delete. It removes the project, every KPI definition assigned to it, and every recorded value of those KPIs. There is no undo and no trash. If you want to keep the KPIs, move them out first with Move to… on each KPI’s detail page, or export your data before you delete.

Exactly what is removed from disk:

RemovedKept
The project entry in projects.jsonCompany-wide KPIs and KPIs in other projects
Every KPI definition whose scope is this projectRows already written to the fetch log, which store the KPI name as it was
Every entry file belonging to those KPIsAlerts already raised for those KPIs, which also store the name

A backup taken before the delete still contains everything. See Backup, export & moving Macs for how to take one, and Where your data lives for the files involved.

What projects do not do

To save you looking for them:

  • No per-project target, period, chart or progress number beyond the three status counters.
  • No per-project report — the Weekly Review lists every KPI in one flat table with no grouping.
  • No per-project export. JSON and CSV export are always all-or-nothing.
  • No nesting, no sub-projects, no tags. A KPI has exactly one scope.
  • No archiving. Completed is a badge, not a hiding mechanism.
  • No reordering of projects or of the KPI cards inside them — both follow creation order.

Didn't find it?

Write to us — a real person reads every mail, usually the one who wrote the feature.

admin@one-pixel-ahead.com