Case study
Roof Prospector
PilotA working app that turns a public address list into a costed sales pipeline. It reads 231,778 Knoxville addresses, pulls satellite and street-level imagery for each, and has a vision model judge the roof — material, age, complexity, visible damage — then cross-references storm history and estimates the replacement cost.
Delivered for a client — not Mule AI’s own product
Delivered for a roofing company client — not named here, at their request. This was a technical pilot phase of that engagement: a vision model that turns a plain, public Knoxville address list into a qualified, costed sales pipeline a sales team could actually work from, not a Mule AI experiment run for its own sake.
The problem
A roofing company usually works from a list, not a pipeline: a county address file, an old lead export, a territory map — hundreds of thousands of properties with no way to tell which few hundred are worth a knock or a call this week. Sorting that by hand does not scale, so most of the list just never gets worked. The client wanted to know whether a vision model, pointed at public imagery, could do that sorting for real — the exact kind of "revenue opportunity hiding in plain sight" the AI Workflow Audit looks for.
How it works
The pipeline, step by step
- 1
Ingest the address list
Started from a public address list covering Knoxville — 231,778 properties, no purchased leads, no CRM export.
- 2
Pull imagery per property
For each address, pulled satellite and street-level imagery to give the model an overhead and an eye-level view of the same roof.
- 3
Judge the roof with vision
A vision model rates each roof on material, age, complexity and visible damage signs — each dimension carrying its own confidence score rather than one blended guess.
- 4
Cross-reference storm history
Each property is checked against hail and wind event history for the area, so a plausible-looking roof with a storm in its recent past is not treated the same as one with a clean record.
- 5
Segment and cost the roof
The roof area is segmented from the imagery and used to estimate a replacement cost as a range, not a single number the model cannot actually back up.
- 6
Score, bucket and flag for review
Every property gets a 0–100 score, a bucket like "hot", and a needs-review flag wherever the model’s own confidence is too low to act on without a person checking first.
What it produced
The numbers, from one run
231,778
Addresses processed
Every property in the Knoxville public address list, not a sample
45
Ranked, costed prospects
What one run returned after scoring and bucketing
4
Roof judgment dimensions
Material, age, complexity, damage — each with its own confidence rating
0–100
Score range
Bucketed (e.g. "hot"), with a needs-review flag where confidence is low
The real product
Not a mockup




What this means for a business like yours
The input here was a public list anyone can download — the kind of asset that sits in a shared drive doing nothing because nobody has a week to sort it by hand. The pipeline turned it into 45 ranked, costed, reviewable prospects without a person opening a single record. That is the shape of the audit’s "revenue opportunity" finding: not a new tool bolted onto the business, but an existing pile of data made to work for the first time.
What we did not measure
This was delivered as a technical pilot for the client, not a sales campaign Mule AI ran itself. What the client did with the 45 properties afterward — any calls made, any deals closed — was not instrumented by us, so there is no close rate, no revenue and no ROI to report, and none is claimed here. What was verified on our end is the pipeline itself: it runs end to end over a real address list and returns output a sales team could actually work from.
