// Post-handover snagging

Snags don't end at handover.
We made the part that comes after.

Works offline Saves locally · auto-syncs when signal returns

When the build is done, the work isn't. DuoApp's Aftercare module is the dedicated home for everything that happens after handover - defect logs, snagging tasks, warranty claims and the homeowner conversations that come with them. One reference per issue. One workflow until book-out.

// Lifecycle

A plot's journey,
from build to book-out.

01

Construction

First Fix → Second Fix → Finals. Standard project workflow up to handover.

02

Promote

Auto-promoted at Finals ≥ 90%, or manually flipped - single plot or bulk per project.

03

In Aftercare

Issues become AC-tagged tasks. Triaged, scheduled and worked through 9 statuses.

04

Booked Out

Final sign-off closes the plot. Full audit trail kept for warranty reference.

// Aftercare Board

The triage view, built for one screen and a phone signal.

Every active issue across every plot - grouped by status or by project, collapsible, inline status changes, and the AC-XXXXX reference always one tap from your clipboard.

/aftercare
182 active 7 blocked
To Do 42 tasks
AC-00184
Kitchen tap dripping under sink
Plot 14 · Maple Court
James Whitlock To Do
AC-00179
Squeaky floorboard, master bedroom
Plot 14 · Maple Court
Sarah Penn Blocked
Blocked 7 tasks
AC-00179
Squeaky floorboard, master bedroom
Plot 14 · Maple Court
Sarah Penn Blocked
In Review 11 tasks
AC-00172
Front door hinge alignment
Plot 7 · Maple Court
James Whitlock In Review
Awaiting Parts 14 tasks
AC-00168
Boiler pressure dropping after 48h
Plot 22 · Riverside Quay
Tom Aldridge Awaiting Parts
Ready To Book Out 5 plots
AC-00161
Conservatory roof leak (right corner)
Plot 3 · Oakhill Mews
Sarah Penn Ready To Book Out
// Status density

Nine statuses, told two ways.

Each status carries a colour, an icon and a label. Bulk-change a hundred items in three clicks; per-row inline change without the page jumping. Color-only differentiation isn't enough at scale - we don't make that mistake.

// Mobile-first

The aftercare team lives in the field.

44px touch targets. No nested hover menus. Dropdowns that open on tap. Photos uploaded in one action, not buried.

// Aftercare Scheduled

A Kanban for what's actually happening this week.

Drag-and-drop between columns. Switch to swimlanes by assignee for a per-person view. Print the day's schedule for site walks.

To Do 8
AC-00184
Kitchen tap dripping under sink
Plot 14 · TodayJW
AC-00191
Outside light non-functional
Plot 8 · TomorrowSP
In Progress 5
AC-00172
Front door hinge alignment
Plot 7 · 2h loggedJW
AC-00168
Boiler pressure investigation
Plot 22 · 1h loggedTA
Blocked 2
AC-00179
Squeaky floorboard, master bedroom
Plot 14 · Awaiting accessSP
Completed 24
AC-00161
Conservatory roof leak fix
Plot 3 · MonSP
AC-00155
En-suite tile re-grouting
Plot 11 · MonMC
// The CCE Report

Aftercare ends on a doorstep - with a signature.

Every appointment closes with a Customer Care Engineer Report. Admins build the template; engineers fill it in on-site and the homeowner signs the screen. The system turns it into a signed PDF on the plot.

Engineer - on site

Aftercare · appointment view
09:42 · Plot 14 Offline · saving locally
Customer Care Engineer Job Report
Draft
3 OF 5 SECTIONSAC-00184
§01 · Visit context
Engineer
Marc CostaAuto
Plot · Resident
Plot 14 · J. PatelAuto
§02 · Work completed2 / 4
Was the original issue resolved? *
Customer reported additional damage? *
Conditional · only shown if "Yes" Describe the additional damage and recommended next steps.
Homeowner signature * CLEAR · UNDO
By signing, work is confirmed complete
09:47 · 06 AUG 2025J. Patel
Submit report Will sync · 1 waiting
One-thumb · big tap targets Auto-saves · as they type

Admin - template builder

Aftercare · report template
Standard CCE Report - v4
23 fields · 5 sections · last edited 12 days ago
PREVIEW SAVE
⋮⋮ §02 · Work completed 4 fields
⋮⋮
Was the original issue resolved? Source: engineer input
YES / NO / N/A Required
⋮⋮
Customer reported additional damage? Triggers conditional follow-up
YES / NO Required
⋮⋮
Describe the additional damage Visible only when parent = Yes
TEXT AREA Conditional
⋮⋮
Parts used on this visit Free text, comma-separated
TEXT Optional
⋮⋮ §03 · Sign off 3 fields
⋮⋮
Homeowner signature Saves the customer signature
SIGNATURE Required
⋮⋮
Customer not present Reason required if checked
YES / NO Conditional
Drag-reorder · sections + fields 7 field types Live preview · engineer view
// Seven field types

Built for fingers in gloves.

Text
Single line
Text Area
Notes, descriptions
Yes / No
Two large buttons
Yes / No / N/A
Skip irrelevant
Dropdown
Custom options
Signature
Finger / stylus
Auto-populate
Plot, engineer, AC#
// The hard part - works without signal

No signal? The report works anyway.

Forms save locally as engineers type. Submissions wait if there's no signal, then send the moment it returns - with a badge that earns trust every shift.

One day in the life of one CCE Report
● ONLINE ● OFFLINE ● SYNCING
01

Pre-visit

Ready for the day

Today's appointments and the active template save to the device while still on Wi-Fi.

Online · up to date
02

On site

Works without signal

Form opens without signal. Every change saves locally - nothing's lost.

Offline · saving locally
03

Submit

Hold, don't fail

Submit puts the report in an outbox. The app shows "submitted, will sync".

3 waiting to send
04

Signal returns

Send & tick

Reports send automatically. The pending badge counts down to zero.

Syncing · 3 → 2 → 1 → 0

A badge engineers trust.

Online · Pending (n) · Offline. Tap to see what's still to send. The day's work feels safe before they drive home.

Sacred signature.

Smooth strokes, undo + clear, portrait or landscape. "Customer not present" requires a written reason - no silent missing signatures.

Submit is final.

An explicit confirm, then a clean read-only summary. One-tap PDF preview to hand to the homeowner.

// The 9-state workflow

Every issue gets driven to a real ending.

No "in progress forever" purgatory. Each status has a defined meaning - shown with colour, icon and label so it stays legible in dense lists.

To DoLogged but not started.
BlockedWaiting on info, access or a decision.
In ReviewWork claimed done, awaiting QA / sign-off.
Ready To Book OutAll work complete on the plot - ready to formally hand back.
Booked OutPlot signed off and closed.
Awaiting PartsMaterials on order; resumes on arrival.
RescheduleCouldn’t be done at the appointment; needs a new slot.
CompletedSingle task done (not the whole plot).
Not OursDetermined to be the homeowner’s responsibility.
// Reports + completed + not-ours

The three views you reach for less,
but couldn't run without.

Aftercare isn't only the daily board. It's also: how much aftercare is each project costing us, what's signed off this quarter, and what did we already determine isn't our problem.

Aftercare Report

KPIs at the top, breakdowns below. Average time to close, oldest open, hours per project, cost per plot. Filter by project, date range, status. Print or PDF.

Aftercare Completed

A searchable, sortable archive. Date-grouped by default - this month, this quarter. Drill in to see a plot's full aftercare history end-to-end.

Aftercare Not Ours

Issues triaged out as homeowner-responsibility, third-party fittings, or expected wear. Reason captured per item. One tap to move back to active if the team changes its mind.

// Built for the real shape of the work

Things that mattered
that nobody else got right.

The AC-XXXXX is the user's handle.

It's what you read out to a homeowner on the phone. Treated like an order number - monospace, prominent, copy-on-click.

Bulk operations, end to end.

Bulk-promote-to-aftercare, bulk-remove, bulk status change. Selecting 200 rows shouldn't be a 200-click problem.

Photos before everything else.

An aftercare task without a before-and-after photo is unfinished. Upload + thumbnail in one tap, not a modal-within-a-modal.

Scoped per project.

Aftercare time period is set per development - "this build comes with 12 months". After that window, plots auto-exit aftercare.

Touches the rest of the app.

Project dashboards show the aftercare load. Plots can be promoted/demoted from the row dropdown. Tasks page shows aftercare task groups alongside your other work.

Empty if you don't use it.

Companies who've never run aftercare don't drown in an empty aftercare menu. The section only appears when there's something there.

From handover to booked out.

See Aftercare in action with your own data shape - a 30-minute walk-through is enough to know if it fits how your team already works.