AI & automation
AI writes the explanation. It never moves the date.
The useful, boring truth about AI in construction software: the arithmetic must be deterministic. Every schedule date, cost figure, and billing number in ContractorProIQ is computed by tested code. The model reads that result and tells you what it means.
Where the line sits
Two jobs, and only one of them goes to a model.
This split is the whole design. Getting it backwards is how AI features end up producing confident, wrong numbers that someone acts on.
Deterministic code — tested, repeatable
Anything with a number
- Every schedule date, dependency, and critical-path calculation
- Every cost rollup, budget variance, and forecast at completion
- Every invoice amount, retention figure, and escrow release
- Every estimate total, markup, and margin
- The lead score itself and the ranked actions it produces
Same inputs, same answer, every time — and covered by the test suite. If a date is wrong, it is a bug we can reproduce and fix, not a model having an off day.
The model — judgement and language
Anything with a sentence
- Turning a day of terse field notes into an update a homeowner understands
- Explaining why the schedule moved and what the PM should do about it today
- Summarising what a scoring result means in context
- Drafting the message, never deciding the number inside it
Given a result it cannot change, a model is very good at explaining it clearly. That is a real job — writing a clear client update at 5pm every day is work most contractors never get to.
What runs on its own
Six things you stop having to remember.
Automation here means the system does the work, not that it nags you to. Each of these either produces something or blocks something.
The 5:00 PM client update
At the end of each day, the day's field logs become a short, plain update on the homeowner's portal — what happened, what's next, anything that slipped.
Idempotent per project per day: running it twice cannot post two updates.
Schedule optimization
Reads the weather forecast, which tasks have no qualified crew assigned, and when materials are actually landing. Decides what cannot proceed and cascades the change through the dependency graph.
Always previewed. It never silently rewrites a PM's schedule.
Lead scoring with reasoning
A win probability you can open up: the factors driving it, the risks working against it, and a ranked set of actions to take next.
The actions stay rule-derived even when a model writes the narrative.
Insurance expiry enforcement
Certificates are watched as they approach expiry, and a lapsed one blocks new purchase orders outright rather than raising a banner someone dismisses.
The PO does not issue. It is a control, not a reminder.
Budget burn-down alerts
When a cost code drops below 10% remaining, the PM hears about it while there is still room to act — instead of discovering the overrun at closeout.
Committed costs from open POs count against the budget, not just spent dollars.
Overdue and follow-up sweeps
Invoices past due, leads with no contact, and change orders waiting on a decision get swept on a schedule and surfaced where you'll see them.
Queued through a durable outbox, so a notification is never lost or double-sent.
A worked example
What actually happens when cabinets are late.
- 01
The system notices
DeterministicA delivery record for the semi-custom cabinetry package shows an expected date after the task that needs it is due to start.
- 02
The engine decides the impact
DeterministicThe scheduling engine works out that the task must slip five work days, then cascades that through the dependency graph — three downstream tasks move, one parallel branch is untouched.
- 03
The model explains it
AIHanded that result, the model writes: what forced the change, which trades are affected, and what to do today — call the trim carpenter, notify the homeowner.
- 04
A human decides
HumanThe PM sees the proposed change with every before-and-after date, and applies it or doesn't. Nothing moved until they said so.
Fair questions about the AI
- What if the AI is unavailable?
- Every AI feature has a deterministic fallback that produces a usable result from rules instead of a model. You get a plainer sentence, not a broken button — and the numbers are identical either way, because they never came from the model.
- Does my job data train a model?
- No. Your data is sent to a model only to produce your own output — a client update, an explanation — and is not used for training.
- Can the AI send something to my client without me seeing it?
- The daily client update posts to the portal on a schedule, which is the point of it — you can turn it off per project. Everything with a financial or scheduling consequence requires a human decision first.
- Can it change a price or a date on its own?
- No. It has no ability to write a date or an amount anywhere in the system. It is handed results and asked to describe them, which is why a hallucination shows up as an awkward sentence rather than a wrong invoice.