Every number,
sourced.
Enter an address and get a priced, defensible estimate back immediately — then see exactly where every figure came from: confirmed on-site, drawn from public record, priced against the catalog, or set by a person.
Nothing on the estimate is a black box.
Most estimating tools give you a number. This one tells you where the number came from — so you can trust it, defend it, and know exactly what to check before you send it.
Measured
Confirmed on-site — roof area, pitch, and facets, with a confidence score attached to each.
Assumed
Model-derived, with the reasoning shown — and editable the moment it's wrong for this job.
Catalog
Live pricing, tax, and code data — versioned, and clearly marked if it is running on a cached copy.
Public record
County assessor data — year built, square footage, existing roof — grounding the first estimate before a site visit is confirmed.
From an address to a signed proposal.
Every step below is real product, not a demo flow — including the parts most tools skip.
Enter an address
Public record data grounds an immediate, honestly-labeled preliminary estimate.
Refine it
Confirm measurements on-site to convert assumptions into verified figures. Edit any assumption or line item — the estimate regenerates.
Revise as work reveals more
Real restoration work gets re-opened. Revisions are tracked, not overwritten.
Send, sign, done
A branded proposal with scope, terms, and warranty — with a real e-signature and acceptance record.
Built for how each team actually works.
Same estimating engine underneath — the surface adapts to the workflow.
Insurance carriers
Adjusters work inside the systems they already use.
- API, embeddable widget, and MCP for AI-assisted claims tools
- Bulk import for CAT response — hundreds of claims at once
- SAML/OIDC SSO with locked, inherited enforcement across branches (on the roadmap)
- Webhooks instead of polling, at volume
Roofing & restoration contractors
Sign up, generate an estimate, send a proposal — no sales call required.
- Pay-per-estimate, no subscription required
- Branded proposals with built-in e-signature
- Mobile-friendly field measurement workflow
- Same estimating quality as every other tier
Independent adjusting firms
Multiple offices, one set of rules — with room for each branch to differ where it should.
- Org-level rule overrides, inherited by branches
- Usage reporting by user and by branch
- Revision history built in
- Role-based access: Admin, Estimator, Viewer
Enterprise security & deployment
For carriers and other regulated buyers, this is usually the longest part of the sales cycle. Here is what we bring to that conversation — and, just as deliberately, what we do not claim before it is built.
Deployment
Cloud — fully managed, autoscaling, always on the live catalog. On-premise inside your own infrastructure where data residency requires it. Or hybrid: some branches cloud, others on-prem, one shared catalog between them.
An on-prem install works from a locally cached catalog when it is disconnected, and says exactly how stale that cache is wherever staleness affects a number — never silently.
Identity & access
SAML 2.0 and OIDC single sign-on, configured per organization, with attribute mapping for email, name, and role claims. Role-based access — Admin, Estimator, Viewer — on every tier.
The rule that matters in a security review: SSO enforcement is a security-scoped setting, so it inherits down a branch hierarchy and locks. A regional branch cannot weaken or opt out of an enforcement its parent organization turned on — unlike a pricing rule, which a branch is allowed to override.
Data protection
Traffic between a browser and the service is encrypted in transit over TLS. Estimate data at rest lives in a managed PostgreSQL database on Google Cloud SQL, which encrypts stored data and its backups at rest with Google-managed keys by default.
Access to that data is scoped to the organization that owns it, and an on-prem install keeps it inside your own infrastructure end to end.
See what your next estimate would actually show.
No account required to try it.
Try it on an address →