ContractQ
An end-to-end pipeline for home-services companies that follows a job from lead to repeat customer, flagging whose next action is overdue at every handoff.
Project overview
- Type: Product · 12-week 0→1 · B2B, sold to home-services companies
- Team: 2 engineers on the pilot build
- Project type:
B2B SaaS·Vertical (Home Services)·Lifecycle & Operations·Retention & Reviews - Role: Lead Product Designer · Information Architecture · Systems Design · UX Research
- Methods: Continuous discovery · service blueprinting · tree testing · session-replay analysis · A/B
- Tools: Otter.ai · Optimal Workshop · Hotjar · Figma + Dev Mode · Amplitude · Statsig
- Case thesis: Designing an end-to-end pipeline for home-services companies that follows a job from lead to repeat customer, with every stage carrying an owned, overdue-aware next action, so value stops leaking at the handoffs between winning the work, doing it, and following up.
The context
A home-services company (roofing, HVAC, plumbing, and the rest) runs as a chain: a lead becomes an inspection, a report, an estimate, a won job, scheduled and executed work, a finished job, a review, and, when it goes well, the next job. The board shown is the front of that chain, the stages that win the work, and the pipeline continues through doing the job and the follow-up after it. These businesses are run by tradespeople in the field, tracking that whole chain across a whiteboard, a spreadsheet, a CRM, and a separate job tracker. ContractQ is sold to many such companies, so the pipeline maps the full lifecycle and is configurable to each company's trade, stages, and roles.
The problem
Value leaks all along the chain, at every handoff. Deals stall before the estimate, jobs slip between being won and being scheduled, and the highest-value steps after the work is finished rarely happen at all. In research, only 54% of inspected jobs got an estimate within a week, estimate-to-won sat at 22%, and after completion only 19% of finished jobs ever got a review request while past customers were re-engaged for a next job 8% of the time (behavioral, lifecycle audit). No single view followed a job end to end, and the people who could act were in the field, so each handoff was a place a job quietly fell through.
The goal
Follow a job through its whole life in one pipeline so it stops stalling at any handoff, measured by progression at each stage (inspected to estimate, estimate to won, completed to review, customer to repeat) and the count and age of stalled work, rather than by feature breadth.
Empathize — Value leaked at every handoff across the job's life, from the unsent estimate to the review no one asked for
In this section: Research foundation · Key insights
Research foundation (method)
- Phase 1 — Interviews (n=16 owners, office managers, and field leads at home-services companies, ~40 min, recruited via dscout, transcribed in Otter.ai): how a job moves from lead to repeat customer and where it stalls.
- Phase 2 — Lifecycle audit (n=9 companies): measured progression and aging at every handoff, from inspection through review and repeat.
- Phase 3 — Survey (n=170; 17.6% response, 12.0% completion; select-all and single-select labeled per question): on tracking tools, lost deals, and post-job follow-up.
- Phase 4 — Prototype pilot (Amplitude-instrumented, pilot companies): behavior across the full pipeline.
Key insights
1. The leak is at the handoffs, all along the chain. Jobs fell through between phases: inspected jobs waited for an estimate, won jobs waited to be scheduled, and finished jobs ended without a review or a next-job nudge. Triangulation:
- Behavioral: 54% inspected-to-estimate in a week, 22% estimate-to-won, 19% of completed jobs reviewed, 8% of past customers re-engaged.
- Verbatim — coded: Falls through: "Each part lives in a different place, so a job gets won and then just sits because the person scheduling never saw it."
2. The operators are in the field, so the whole chain is invisible. The lifecycle lived across scattered tools and people's memory, so at the moment any handoff was due, no one could see what was waiting.
- Verbatim — coded: Out of sight: "I'm on a roof all day; nobody's watching whether we asked the last ten customers for a review."
3. The most-forgotten steps are the most valuable. The post-job follow-up, a review and the next job, is where the company's earned reputation and cheapest revenue sit, and it is exactly what got dropped once the work was done.
- Behavioral: reviews drive the local-pack ranking that brings new leads, and repeat customers are the lowest-cost next job, yet both were left on the table after completion.
Dashboard — Where value leaks across the job's life
Where value leaks across the job's life
Scope: lifecycle audit (n=9 companies)
Guiding question: At which handoff does a job lose value?
Inspected jobs with an estimate within 7 days .. 54%
Estimate-to-won conversion ..................... 22%
Completed jobs that got a review request ....... 19%
Past customers re-engaged for a next job ....... 8%
Key Insight: The leak runs the length of the chain, and the steps after the
work is finished, the review and the next job, are the most valuable and the
most forgotten.
Define — One pipeline had to follow a job from lead to repeat customer, with an owned next action at every stage
In this section: POV · How Might We · Principles · Insight→decision map
POV statement. A home-services company needs one pipeline that follows a job from lead to repeat customer, with every stage carrying an owned, overdue-aware next action, because value leaks at every handoff (before the estimate, during the job, and after it is done) and the people who can act are in the field.
How Might We
- How might we follow one job across its whole life in a single view, from lead to repeat?
- How might we make every stage's next action owned and flag it when it is overdue?
- How might we make sure a finished job turns into a review and a next job?
- How might we fit the full lifecycle to each company's trade?
Design principles (each traceable to an insight)
- One pipeline for the whole life. A job stays on one board from lead through win, execution, completion, review, and repeat. (Insight 1)
- Surface the stall at every handoff. Time-in-stage and an overdue next action make a stuck job stand out, wherever it is in the chain. (Insight 1, 2)
- Every stage has an owned next action. A named person, account owner or field lead, holds the next move at each step. (Insight 2)
- The pipeline continues past the finished work. Review and re-engagement are stages, so the post-job value is tracked. (Insight 3)
- Configurable per company. Stages, categories, and roles are set per company, so the board maps each trade's full process. (the product goal)
Insight → decision map
| Insight (from Empathize) | Concrete design decision |
|---|---|
| Jobs fall through the handoffs along the chain | One board carries a job from lead to repeat, so a win, a schedule, and a completion are stages of the same pipeline |
| The backlog is invisible to field operators | Each card names the account owner and field lead, with a dated next action that flags when it is overdue |
| The post-job steps are the most valuable and most dropped | Completion opens a review-request stage and a re-engagement nudge, so a finished job turns into a review and the next job |
Ideate & Craft — The board followed one job through its whole life, surfacing the overdue next action at each handoff
In this section: Design execution · Before → after · Other deliverables
Design execution
- The full pipeline — a Kanban whose front stages win the work (new and needs inspection, inspection scheduled, inspected, inspection report sent, estimate sent) and whose later stages carry it through won, scheduled, in progress, completed, review requested, and follow-up for the next job.
- The job card, end to end — the same card follows a job through its life, holding the customer and the account owner who manages it, category tags such as roofing, HVAC, residential, or commercial, the assigned field lead, the task progress on the work, and the current owned next action.
- Stall surfacing at every handoff — cards carry time-in-stage and an aging flag, including after completion, so a finished job with no review for too long, or a past customer due for re-engagement, stands out as an overdue next action.
- Execution — tasks and checklists per job, scheduling, and the field lead's view carry the work itself through to completion.
- Post-job — a one-tap review request, a satisfaction signal, and a re-engagement nudge turn a completed job into a review and a next job.
- Views, filters, and configuration — board, calendar, and list views, filters and search across jobs and customers, quick add for a job or task, and per-company configuration of the whole lifecycle.
Before → after
| Before (CRM + job tracker + spreadsheets) | After (ContractQ) | |
|---|---|---|
| Following a job | Across separate tools | One pipeline from lead to repeat |
| A handoff (won, scheduled, completed) | A job falls between tools | A stage with an owned next action |
| A stalled step | Invisible until lost | Flagged by time-in-stage, anywhere in the chain |
| After the work is done | The job ends silently | Review and re-engagement are stages |
Other deliverables
Built in Figma with Dev Mode handoff: the end-to-end pipeline board, the job-card system with dual owners and task progress, the time-in-stage and aging treatment across the lifecycle, the review-request and re-engagement stages, and the multi-tenant configuration model.
Dashboard — One pipeline carries the job, and the value, to the end
One pipeline carries the job, and the value, to the end
Scope: Last 30 days · pilot companies
Guiding question: Did jobs progress through every handoff, including after completion?
Inspected jobs with an estimate in 7 days .. 54% -> 83%
Estimate-to-won conversion ................. 22% -> 34%
Completed jobs that got a review request ... 19% -> 71%
Past customers re-engaged within 90 days ... 8% -> 31%
Key Insight: Following the job end to end on one board moved it through every
handoff, including the post-job steps that had been dropped.
Prototype / Test — Splitting the lifecycle across a sales tool and a job tracker recreated the handoff leaks; one pipeline closed them
In this section: The experiment · What it taught
The conventional setup splits the lifecycle: a sales pipeline for winning the work and a separate job tracker for doing it. The first build followed that split, on the assumption that selling and executing are different jobs for different tools. It was A/B tested against a single pipeline that followed a job from lead to repeat, in Statsig across the pilot.
The failed variant. The split felt natural to each role, but the handoffs between the tools were exactly where jobs leaked: a won deal had to be re-entered to be scheduled, and a completed job left the sales tool's view entirely, so it never got a review. Completed jobs were reviewed 22% of the time under the split. On one continuous pipeline, the handoffs were tracked and that rose to 68%.
Split tools leak at the handoffs they create
Scope: Statsig A/B · pilot companies · n=2 variants
Guiding question: Which structure keeps a job moving through every handoff?
Variant A — Separate sales tool + job tracker
Completed jobs reviewed ......... 22%
Won-to-scheduled lag ............ long
Jobs lost between tools ......... common
Variant B — One pipeline, lead to repeat
Completed jobs reviewed ......... 68%
Won-to-scheduled lag ............ short
Jobs lost between tools ......... rare
Key Insight: The leaks live in the handoffs between phases, so splitting the
lifecycle across tools reproduced them; one continuous pipeline closed them.
What it taught. The value in a home-services business leaks at the handoffs between winning, doing, and following up, so splitting those phases across separate tools reopens every gap; following one job end to end on a single pipeline is what keeps it moving to completion, a review, and the next job. The unified pipeline shipped.
Outcomes & reflections
In this section: Causal chain · Reflections
Causal chain (pilot companies)
Following one job from lead to repeat on a single pipeline, with the stall and an owned next action surfaced at every handoff, moved jobs through the chain end to end: inspected-to-estimate rose 54% -> 83%, estimate-to-won 22% -> 34%, completed jobs turning into a review request 19% -> 71%, and past customers re-engaged for a next job 8% -> 31%, recovering the reviews and repeat revenue the company had already earned; the configurable stages let each company map its full lifecycle, so the board ran the business end to end rather than just its sales.
| Metric | Before | After | Δ |
|---|---|---|---|
| Inspected jobs with an estimate in 7 days | 54% | 83% | +29 pts |
| Estimate-to-won conversion | 22% | 34% | +12 pts |
| Completed jobs that got a review request | 19% | 71% | +52 pts |
| Past customers re-engaged within 90 days | 8% | 31% | +23 pts |
Scale note: a home-services business compounds on its finished work, since reviews bring the next lead and past customers are the cheapest next job, so closing the post-job handoffs recovers revenue the company already earned.
Reflections (transferable principles)
- A home-services business runs as a chain from lead to repeat customer, and the value leaks at the handoffs between phases, so following one job end to end on a single pipeline closes the gaps that separate tools reopen.
- Every stage needs an owned next action that flags when it is overdue, because the people who can act are in the field, and a board no one watches becomes the spreadsheet they abandoned.
- The pipeline continues past the finished work: the review and the next job are stages too, and treating them as such recovers the lifetime value a completed job otherwise leaves on the table.
- Selling one tool across many companies means the lifecycle has to be configurable to each one's stages and roles, so the board reflects how that company wins, does, and repeats the work.