A worked example: Whitfield Residence
Day 35 of a 90-day rear extension, walked through record by record — including how a mid-job variation gets handled without a single lost text message.
Updated 2 September 2026
This is the demo project, not a customer
Everything below is the sample job that ships with BuildFlow's demo seed — a realistic composite, not a real household. Nobody's name here belongs to a real client, and nothing is a testimonial. Run the demo seed and you can click through every record described.
The point of walking through one job in this much detail is that it shows what BuildFlow looks like when it is being used properly: not the feature list, but the actual state of a job halfway through, and what that state does for you.
The job
| Builder | Mason & Co Builders, Guildford — FMB member, two staff |
| Job | Whitfield Residence — Rear Extension (ref MC-2026-014) |
| Scope | Single storey rear extension: bi-fold doors, vaulted ceiling, new kitchen |
| Site | 14 Orchard Lane, Guildford |
| Value | £68,000 |
| Programme | 90 days. We are looking at day 35 |
| On it | Alex Mason (owner), Jamie Carter (site carpenter), Sam Whitfield (client) |
Three people, one job, one system. Alex sees everything. Jamie sees the work. Sam sees his own house being built and nothing else — not the £68,000, not the diary, not the hours.
Where the programme is
Five stages, generated from the Single Storey Extension template on day one and adjusted since.
| Stage | Status | Done |
|---|---|---|
| Pre-construction | Completed | 100% |
| Groundworks & Foundations | Completed | 100% |
| Superstructure | In progress | 55% |
| First Fix | Not started | 0% |
| Decoration & Completion | Not started | 0% |
Groundworks finished two days ahead of its target date, which is visible because the stage carries both a target and an actual end date. That is a fact worth having when the next stage slips.

Four milestones, two hit: building control approval received, and foundations passed inspection. Two ahead: watertight shell complete in ten days, practical completion in fifty-five. Sam sees all four — they are the dates that mean something to him.
The work in front of them
| Task | Status | Who | Due |
|---|---|---|---|
| Install structural steels | In progress · High | Jamie | in 3 days |
| Order kitchen units | Awaiting review · Medium | — | in 5 days |
| Build masonry to wall plate | To do · Medium | Jamie | in 8 days |
| Pour concrete foundations | Completed | Jamie | done, 2 days early |
The steels task carries a two-item checklist: fabrication drawings approved (ticked four days ago) and delivery date confirmed with supplier (not ticked). That single unticked box is the actual risk on this job right now — the whole superstructure stage waits on the steels, and the steels wait on a phone call.
Which is exactly what FlowAI surfaces
Asked "what's left before we can book the pre-plaster inspection?", it comes back with the three open tasks and flags that the delivery-date checklist item is not ticked. It found that by reading the checklist, not by being told it mattered.
"Order kitchen units" sitting at awaiting review is the other thing to notice. It is not late and nobody is failing to do it — it is waiting on Sam confirming the final design. Left as "to do" it would look like Mason & Co's problem. Marked awaiting review, it shows on Sam's dashboard as a decision waiting on him.
The variation, handled
Two days ago this happened in the project thread, in four messages:
- 1.Alex, general: "Morning Sam — steels are booked in for Thursday, should keep us on track for the shell being watertight in a couple of weeks."
- 2.Sam, question: "Great news! Quick one — can we still fit the wider bi-fold door (4 panel instead of 3)?"
- 3.Alex, decision — pinned: "Yes, no problem — I'll get the steel lintel width confirmed with the structural engineer to make sure the opening works. Will update the drawings."
- 4.Jamie, inspection (eighteen days ago): "Foundation inspection passed this morning, no issues raised by building control."
This is the sequence that, on a job run over WhatsApp, becomes a dispute in month four. Here, three things make it safe:
- It is categorised. Alex's reply is filed as a *decision*, not general chat, so it is findable by category rather than by scrolling.
- It is pinned. It stays at the top of the thread for the rest of the job.
- It is timestamped and attributed, in an audit trail nobody can edit — including Mason & Co.
The lintel change also has to reach the structural engineer and the drawings, and neither of those is automatic. What BuildFlow guarantees is that in eight weeks, when the opening is built and somebody asks who agreed to a four-panel door, the answer takes ten seconds.

The record being built underneath
Site diary
Two entries, both written from a phone at the end of the day.
- Yesterday — overcast, 14°C. Jamie and Dave Ellis, eight hours each, sixteen total. Continued blockwork to first lift, set out steel bearing points. Steel delivery confirmed for Thursday.
- The day before — light rain, 11.5°C. Six hours each, twelve total. Morning lost to rain, blockwork resumed after lunch. Issue logged: weather stoppage 8am–12pm.
That weather stoppage is four hours of a 90-day programme, and it took ten seconds to record. It is also precisely the kind of thing nobody can evidence six weeks later when the completion date is being argued about. Diary entries cannot be edited after the fact, which is what makes them worth anything, and Sam cannot see any of it.
Building control
- Foundation excavation — passed, Guildford Borough Council Building Control. "No issues. Depth and reinforcement confirmed satisfactory."
- Damp proof course — scheduled, in four days.
Compliance
One certificate on file: Structural Engineer Calculations, ref SE-2026-0141, Hartley Structural Engineers. More will land as the job goes on — electrical, gas, energy — and each goes into the same place.

Snagging, already
Two snags, both raised by Sam, both well before the end of the job — which is the sign of a client who has been given a way to report things rather than saving them up.
| Snag | Room | Status | Who |
|---|---|---|---|
| Scuff mark on hallway skirting | Hallway | Open | Unassigned |
| Gap under utility room door | Utility | Waiting approval | Jamie |
The second one is the lifecycle working: Sam raised it, Jamie was assigned, Jamie resolved it yesterday, and it is now back with Sam to confirm. When he does, it closes with both names and both timestamps on it. Neither will be a surprise on the final walk-round.
What Sam actually sees

Overall progress, the five stages with their status, his four milestones, the photos, the thread, his two snags, and the kitchen decision waiting on him.
What he does not see: the £68,000, the sixteen hours Jamie and Dave put in yesterday, the weather stoppage, or Mason & Co's notes about anything. All of that is refused at the database rather than hidden in the interface — the distinction matters, because it holds outside the app too.
Where this job ends up
In fifty-five days, when practical completion is signed off, the handover pack is one click. It will already contain the timeline as it actually ran, both hit milestones and the two to come, the certificates, the inspection results, the closed snag list with Sam's confirmations, the spec book, and the completed photographs.
None of that gets assembled at the end. It exists because of two minutes a day for ninety days.
See it for yourself
Every record on this page is in the demo seed (supabase/migrations/0005_demo_seed.sql). Run it against your own Supabase project and sign in as the demo builder, the demo employee or the demo client to see the same job from all three sides.