How it works

Six sources. One brief. 90 seconds.

Every appeal Houseproof writes is fed by six independent data pulls, all firing in parallel the moment you drop your address. Here's every source, what's live vs. mocked, and which AI does the actual reasoning.

01 · Parcel + ownership

● MOCK

APN, legal description, lot size, year built, building square footage, beds/baths. Required for every appeal — establishes the property identity in the county system.

Provider chain

County GIS · Texas A&M Real Estate Center

Status

Mocked deterministically per address (real provider chain: LandGlide / ATTOM / Regrid / county GIS — keys pending).

02 · Assessed value (DCAD live)

● MOCK

Current-year assessed value, market value, exemptions on file (homestead / over-65 / disabled / etc.), tax rate. The number we're actually trying to lower.

Provider chain

dallascad.org HTML scrape · Collin + Tarrant scrapers next

Status

Best-effort live scrape on Dallas. DCAD uses ASP.NET WebForms with VIEWSTATE — production scrape needs Playwright headless. Mock fallback today.

03 · Three nearest comps

● MOCK

Three most-comparable sales from the last 12 months within ~1 mile. Sold price, date, sqft, distance. Cited verbatim in the brief's comp-based argument.

Provider chain

MLS partners (Repliers, RentSpree) · Zillow public · Realtor.com

Status

Mocked. MLS keys are ~$300/mo + qualification; we wire as paying customers cross $50k MRR.

04 · Aerial photo + AI condition scoring

● LIVE

Top-down satellite image at 19-zoom, then Gemini scores roof (0-100), lot maintenance (0-100), structural-from-above (0-100), and writes appeal-worthy notes. Real evidence the appraiser can see for themselves.

Provider chain

ESRI World Imagery (free, NAIP-quality) → Gemini 2.5 Flash vision

Status

LIVE. Try any address on /check-property.

05 · Permit history

● LIVE

Every permit filed against the address in the last 10 years: type, description, declared value, status. Zero permits = no improvements = arguments for lower valuation. Lots of permits = the assessor has already over-baked them.

Provider chain

Dallas City Open Data (Socrata) · BuildZoom (paid) · city-by-city

Status

LIVE for Dallas via dallasopendata.com/resource/e7gq-4sah. Plano + Allen scrape next.

06 · 5-year tax history

● MOCK

Year-over-year assessed value trajectory, taxes paid, delinquency flags. Establishes pattern of over-assessment over time.

Provider chain

County tax assessor sites (DCAD ACT, Collin CAD, Tarrant ACT)

Status

Mocked from deterministic generator. Real scrapers slot in alongside assessor scrapers.

AI providers

We pick the model that's fast, accurate, and in budget today.

ModelUseCostLatency
Gemini 2.5 FlashVision condition scoring + appeal brief generation~$0.0005 / brief4-8s
GPT-4o-miniBackup for Gemini (currently quota-limited)~$0.001 / brief3-6s
Claude Sonnet 4.6Backup for Gemini (currently rate-limited)~$0.003 / brief5-10s

Pieter Mode: we route to whichever model has budget. Failover chain so the demo never breaks.

Drop an address. Watch all six pull in real time.

Try it now →