Stage checkpoints

Every stage carries a checklist of the specific work inside it, and ticking the last one finishes the stage.

What it is

Checkpoints are the granular items inside a stage — 'Posts Set', 'Trusses Up', 'Order Placed', 'Material Received'. They render as toggle rows in the stage modal and as an inline expandable checklist on each stage in the project cockpit. Completion drives the progress bars, the customer's portal, the PM pipeline and the stage-complete notifications.

Also called: checklist · milestones · tick off the work · stage checklist · job checklist

See it, piece by piece
01

Each stage carries the list of work inside it

Post Set, Girts Done, Equipment on Site, Trusses Up, Bracing Complete, Framing Inspection — the specific items that make up framing, not one status flag on a bar. Ticking them is what drives the progress bars, the customer's portal and the project board. It is the paper checklist off the truck dash, in the one place the office can see it.

Stage checkpoints
Framing Details
CheckpointsEdit
Post Set3 photos
Girts Done2 photos
Equipment on Site
Trusses Up
Bracing Complete
Framing Inspection
The framing checklist with three ticked and photo proof expanded under Post Set. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
02

The stage finishes when the work does, not when someone remembers

Completing every applicable checkpoint marks the stage complete and sends the customer their update. That rule lives in exactly one place, so the progress bar, the board badge and the email always agree. It has to: an earlier version measured completion against boxes anyone had touched, which meant a stage announced itself finished — and emailed the customer — on its very first tick.

03

Proof attaches to the checkpoint, not to a folder

Marking a checkpoint complete offers Take Photo or Choose from Library, and you can add as many shots as the job needs in one pass. They stay on that item as a “3 photos” pill that opens to thumbnails, and proof can be added later to something already ticked. When a customer says a thing was not done, the answer is on the row that says it was.

Mark checkpoint complete
Are you sure you want to mark “Trusses Up” as complete?
Add Another Photo
CancelYes, complete
The mark-complete prompt with two shots taken and Add Another Photo still offered. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
04

A checkpoint that doesn't apply stops counting — nothing gets deleted

This job has no garage doors, so that item is marked not applicable: it keeps its label, drops out of the denominator, is hidden from the customer, and records who marked it and why. The stage then reads 3/3 and closes honestly instead of hanging open forever on one irrelevant box. Renaming or deleting the item instead would quietly change what everyone agreed to.

05

Once the job starts, the checklist stops moving

Checkpoint names, their existence and their order are fixed at project start, so the crew, the office and the customer are all looking at what was agreed. Tailoring for one job — an extra step, a different word — happens before that, on the Start Project screen. A checklist anyone can rewrite mid-build is a checklist nobody can be held to.

06

Ticked on a phone, visible in the office and on the customer's page

A checkpoint ticked or photographed on site shows up on the office computer, and the customer's own page lists the same items with the date each one was finished. Progress that lives in a group text has to be found, read and retyped before anyone can act on it.

Build Progress
Build Progress
PermittingCompleted
4/4
Dirt WorkCompleted3
4/4
ConcreteCompleted5
6/6
MaterialsCompleted
4/4
F
FramingIn Progress4
3/6
Post Set
Completed August 6, 2026
Girts Done
Completed August 11, 2026
Equipment on Site
Completed August 14, 2026
Trusses Up
Bracing Complete
Framing Inspection
Photos (4)
S
Siding & RoofingPlanned
0/6
$
Final PaymentPlanned
0/5
The customer's view of that same framing checklist, with completion dates and photos. The real screen, drawn from the product’s own design system. Sample data — no customer information appears here.
How it works
  1. 1The checkpoint list comes from the project's own snapshot (task.checkpoints), falling back to the platform catalogue for older projects
  2. 2A tick writes locally for instant response and mirrors to the server through the single milestone writer
  3. 3The same tick dual-writes to the stage-instance model, keyed by the legacy (project, task, checkpoint) triple
  4. 4Completing every applicable checkpoint marks the stage complete and triggers the notification path
  5. 5The completion rule lives in one place so every progress bar, badge and predicate agrees
Why we built it

Stage completion was measured against the checkpoints anyone had touched rather than all the checkpoints there are — so a stage declared itself finished on its very first tick and sent the customer a 'your framing is complete' email while the crew were still framing. Customers were congratulated on work with a week left in it, and the builder found out when they called asking about the next payment. Completion is counted against the full checklist, and both sides of that comparison were changed together on purpose: correcting only one of them would have left every multi-item stage permanently silent instead, with nothing on screen to show it had gone quiet.

The problem
  • Stage status too coarse to reflect real progress
  • Premature 'stage complete' messages to customers
  • Checklists living on paper and never reaching the office
Sound familiar?
What you get
Granular, auditable progress per stage
Customer progress emails fire on the real finish
One completion rule used by every surface
What's inside
Photo proof on a checkpoint
Attach photos when you tick a checkpoint — or afterwards — and they stay with that item.
Mark a checkpoint not applicable
A checkpoint that doesn't apply to this job stops counting, so the stage can still finish — without deleting or renaming anything.
Checklists lock when a project goes live
Once a project starts, its checkpoint names, existence and order are fixed — so the crew and the customer always see what was agreed.
Per-stage checklist edits before a job goes live
Rename, hide or add checkpoints on a specific stage — available until the project is frozen.
Checkpoints and photos sync across devices
A checkpoint ticked or photographed on a phone shows up on the office computer, and old local-only work is replayed to the server.
One writer for every checkpoint tick
A checkbox ticked in the office and the same box ticked in a field does exactly the same thing.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →