RoofConnect Estimator

Address → EagleView measurements → AI estimate → PDF

price book

New Estimate

Estimates

#AddressStatusCreated

Current Prototype Status

This is the CSS RoofConnect AI roof-replacement estimator prototype (client: Connect Service Solutions; dev partner: Orases). It turns a building address into an internal estimate PDF: order an EagleView measurement report, run a deterministic takeoff against the price book, have Claude write the narrative and flag concerns, and render the PDF. By design, the AI never sets or changes a number — all quantities and prices come from src/estimation/takeoff.ts + pricebook/pricebook.json.

Where things stand

Measurement-data costs — EagleView vs. alternatives

Benchmark: one Walmart Supercenter-scale roof (~180,000 sq ft, low-slope). Full sourced comparison in docs/DATA-SOURCES.md — don’t re-research it. “quote” = vendor doesn’t publish pricing.

ProviderCost / buildingTurnaroundAPIVerdict
EagleView Premium Commercial$89.50 flat (+ ~$0.10 Claude)~3–6 hrYes — OAuth2 + webhooksCurrent default — only per-report option with a published rate card and real ordering API
EagleView Bid Perfect Commercial$49 flat~3–6 hrYes (same)Ballpark only — no linear footages, can’t feed a full takeoff
Nearmap (subscription)~$2,000–2,600/yr, unlimitedOn demandYes — strongest APIsThe volume play at ~25+ sites/yr; also returns parapet heights
GAF QuickMeasure Commercialquote<24 hrNo — via AccuLynx/JobNimbusManual fallback; poor automation target
Roofr$13–19<2–3 hrNoOut — unproven at big-box scale
Hover$29Hours + on-siteEnterprise onlyOut — ground photos can’t capture a large flat roof
Drone (e.g. DroneDeploy)$500–1,500+~Days end-to-endYesAccuracy escalation for survey-grade needs, not the pipeline
Google Solar API (satellite)Near-freeInstantYesSanity-check / free pre-screen only; not takeoff-grade

Next developer — start here

  1. Code lives at /var/www/css/estimator on this server (ubuntu@hep.orases.dev). Read docs/ARCHITECTURE.md before changing anything; CLAUDE.md has the hard rules and commands.
  2. Use Node 22 from ~/opt/node-v22.17.0-linux-x64/bin — system Node 18 belongs to the voice bot (css-bot.service), don’t touch it.
  3. Keep npm test green (golden snapshots pin the money math) and never remove the live-order cost gate (409 + confirmCost) — live reports cost $49–90 each.
  4. Provider payloads stay quarantined: everything outside src/eagleview/ consumes normalized RoofMeasurements only. docs/DATA-SOURCES.md explains how to add a new measurement provider behind the same seam.