Agentic estimating · commercial plumbing

UPLOAD THE PLANS.
Get a bid-ready estimate.

A vision engine measures your drawings. Eight specialist agents scope the work, take it off, price it and challenge the result. Code does the money. You get an itemized Excel estimate where every line shows where the number came from.

8 agents
+ a vision takeoff engine
Every line
Basis · source · confidence
Excel out
Bid-ready workbook
PLM-20260903-141207-4482 Engine v1.5 · running
Sanitary and vent floor plan
Sanitary and vent riser diagram
2"V
2"V
4"W
3"W
2"W
Every sheet in the plumbing set
FIXTURES00
02 — What it saves

Twenty-three minutes.
Not two days.

A commercial takeoff is eleven jobs in a trench coat — reading sheets, counting fixtures, measuring pipe, building assemblies, pricing it, typing it up. The system runs the whole set start to finish while you get a coffee, and every number it hands back carries the sheet it came from.

23 min
Median run, twelve logged runs
18m53s
Fastest logged run
Under 45
Every run, without exception
By hand
2–4 hrs a small fit-out
Days a full commercial set
One pass nobody checks the checker
Logged runs
18–40 min submission to delivered workbook
75 pages the largest set logged, in 35 minutes
Every line carries its basis, source sheet and confidence

Speed on its own is worth nothing on a bid. What makes the number usable is that you can take it apart: the measuring engine outranks the model on counts, the money is computed in code the same way on every run, and a second agent is briefed to attack the first one’s estimate before you ever see it.

Timing is wall clock from submission to delivered workbook across twelve logged production runs, 2 to 5 September 2026 — median 23 minutes, fastest 18m53s, slowest 40m12s. Run length moves with the size of the set. These are runs of the system, not a benchmark against other software, and the page states no accuracy percentage because there is no like-for-like comparison logged against a contractor’s own number yet.

03 — Inside the run

Six moves,
twelve stages.

Not a chatbot reading a PDF. A pipeline where a measuring engine, specialist agents and plain deterministic code each do the part they're actually good at. Scroll the stages — the two diamonds are where code overrules the model.

01
READ
Every page catalogued — sheet number, title, whether it carries plumbing.
02
UNDERSTAND
Scope decided before anything is counted. Systems in, systems out.
03
TAKE OFF
Fixtures counted from the drawings. Pipe measured run by run.
04
CALCULATE
Unit-hour labor, priced materials, deterministic money.
05
VALIDATE
An adversarial reviewer, then a senior estimator's judgment.
06
DELIVER
An Excel workbook in your inbox, with the audit trail behind it.
Vision Takeoff Enginemeasures the drawingsv1.5 · 46 nodes
04 — Blueprint intelligence

Every fixture,
on every page.

Every page in the document is reported back — including the ones it couldn't read. A page that's an image with no text layer is named as image-only rather than quietly skipped.

Plumbing sheet — sanitary & vent and water & gas floor plans

Tagged · sanitary & vent + water & gas plans

FDFloor drain0
HHHouse hydrant0
SHShower0
SDShower drain0
TSTrap seal primer0
WMBWashing machine box0
WCOWall cleanout0
WHAWater hammer arrestor0
DWDishwasher0
KSKitchen sink0
LVLavatory0
MSMop sink0
ETExpansion tank0
FCOFloor cleanout0
FSFloor sink0
TMVMixing valve0
RPRecirculation pump0
WHWater heater0
Tagged on this sheet0

Sheet register

P-001Legend, notes & schedulesPlumbing
P-101Underground sanitary planPlumbing
P-201Level 2 — floor planPlumbing
P-401Riser diagramsPlumbing
M-201Mechanical — level 2Not plumbing
A-503Enlarged toilet roomsImage-only

If a set carries no biddable plumbing plans at all, the completeness gate rejects it and tells you what's missing — rather than producing a confident number from nothing.

05 — From count to cost

It doesn't count a toilet.
It builds one, then prices it.

A fixture count is not a takeoff. Every fixture expands into the parts that actually get installed — which is where forgotten line items and thin bids come from. Labor then goes on task by task, hours per unit against real quantities, and every dollar is computed in code — the same way on every run.

Fig. A · WC-001 · water closet, floor mountCounted once by the engine · expanded to nine installed lines
Water closet — floor mount1.28 GPF · 1 EA Open-front seat1 EA Braided supply connector1 EA Angle supply stop — 1/2"1 EA Escutcheon1 EA Wax ring with horn1 EA Closet flange — 4×3 PVC1 EA Closet bolts & caps1 SET Carrier / floor anchor1 SET
Unit hours, not a multiplier
Material
Takeoff × unit cost
Waste applied per line, then a 15% material markup from your configured settings.
Labor
Hrs × blended rate
Rate built up from base + burden + benefits + workers' comp + taxes — yours to override.
Overhead + profit
10% + 10%
Applied from configuration, not invented by a model on the day.
Contingency
5%
Every percentage is a setting you control, printed in the workbook.

The Senior Estimator agent produces its own totals too — but those are kept only as a cross-check. If the agent's arithmetic disagrees with the code's, the run flags the disagreement rather than shipping either number quietly.

06 — Why you can check it

One agent estimates.
Another tries to break it.

The validation agent is instructed adversarially — its literal brief is "do not rubber-stamp". It re-reads the raw blueprint findings and attacks the estimate built from them. A senior agent then rules on what it raised, and flags what a person still has to look at.

VALIDATION AGENT

Reconciles counts across schedule, takeoff and labor
HighFixture schedule lists 26 WC; takeoff carries 24. Reconcile against P-001 before bid.
MediumNo insulation line for DHW mains — spec section 220719 requires it.
MediumRoof drain bodies present, no overflow drains taken off.
Verdict: Pass with concerns. The estimate is usable; the flagged items need an estimator's eye before it goes out.

SENIOR ESTIMATOR

Resolves conflicts and decides what a human must see
DecisionStorm scope retained — plans show roof drains inside the building line with no by-others note.
DecisionUnderground carried as PVC per P-101 keynote 4; cast iron priced as an alternate.
Human review required. Set automatically when there are critical or high findings, low confidence, or a heavy reliance on assumptions.
Engineered for audit, not vibes
The engine outranks the model
Where the vision engine has counted a fixture type, that number is written into the takeoff and the agent is not allowed to re-count it. Pipe, insulation, hangers and permits are never overridden — only what was actually measured.
Money is code, not judgment
Extended costs, subtotals, markups and the total are computed the same way every run from your configured percentages. The agent's own totals are kept as a cross-check and flagged on disagreement.
Every line is traceable
Each takeoff line carries an id like TKO-014, a basis of shown, calculated or inferred, and the sheet it came from — printed in the workbook.

Every run writes an audit row at intake, page analysis, takeoff, estimate and delivery — so a bid can be reconstructed months later. V1 is in limited beta and the system is configured per company; it is not a product you log into.

07 — What you receive

A workbook
you can defend.

Not a chat transcript. An Excel estimate where every row carries its basis, its source sheet and its confidence — so when a GC asks where a number came from, you can point at the row.

ESTIMATE — EST-260903-141207 · R0XLSX
SectionItemSizeQtyUnit Unit costExt costLabor hrsBasisSourceConf.
Fixtures
FixturesWater closet — floor mount, 1.28 GPF24EA320.007,680.0096.0EngineP-201High
FixturesLavatory — wall hung, vitreous china18EA210.003,780.0063.0EngineP-201High
Sanitary & vent
PipingCast iron no-hub — horizontal branches4"1,240LF34.0042,160.00310.0CalculatedP-101Medium
PipingVent risers to VTR2"620LF18.5011,470.00124.0InferredP-401Requires check
Domestic water
PipingType L copper — corridor mains1-1/2"1,580LF18.0028,440.00237.0CalculatedP-201Medium
Excel workbook generated Emailed to the submitter Copy stored & run logged
Watch a run

Seventy seconds,
start to finish.

08 — Talk to us

This gets built
around how you bid.

There's nothing to sign up for and nothing to log into. We build the system around your company — your labor rates, your assemblies, your supplier pricing, your scope rules — and tune it against jobs you've already estimated, until it bids the way you bid.

01
A 30-minute call
You tell us how your company estimates today — what you bid, how you price it, what you always get burned on.
02
We run your own set
Send a job you've already bid. We run it and put our number next to yours, so you're judging it against an answer you know.
03
Tuned to your pricing
Your rates, markups, waste, assemblies and scope rules go in. It stops being a generic estimator and starts being yours.
04
A pilot on live bids
Real jobs, alongside your normal process, until the numbers hold up on work you're actually chasing.

Book the call.

Two minutes here saves a discovery call. We'll come to it already knowing what you bid and how much of it you're doing by hand.

We take on a small number of companies at a time, because each one is configured and tuned individually. If it isn't a fit for the work you do, we'll say so on the call rather than sell you a pilot.

No sales sequence, no newsletter. We use this to prepare the call and nothing else.

Got it — pick a time.

Choose whatever works. If nothing fits, reply to the confirmation and we'll find a slot.

Built around how your company bids Schedule a call