Personalization layer: 32 county-assessor adapters, 45 historic-overlay polygons
By Netanel Presman, General Contractor (CSLB #1105249) · Published · 2 min read · Wave 292
Summary
Wave 292G adds the address-level personalization layer: 32 county-assessor adapters (LA County, NYC ACRIS, Cook, Miami-Dade, Harris, Maricopa, etc.), 45 historic-overlay polygons (HPOZ, LPC, Article 10/11), HOA detection, climate zone inference, 49 building-style classifications. 67/67 tests green.
Article body
When a homeowner types their address, AskBaily can now infer in under three seconds whether the parcel sits inside an HPOZ, what year the structure was built, what the assessor's last-sale value was, what climate zone the city is in, and whether the building style suggests structural quirks (post-and-beam vs. balloon-frame vs. stick-frame). Wave 292G is the data spine that makes that personalization possible.
The 32 county-assessor adapters are the hardest part of the work and the part nobody publishes. Every county has its own search endpoint, its own field names, its own concept of "owner of record," and its own update cadence. LA County publishes through ArcGIS REST. NYC's ACRIS is its own stack. Cook County publishes through a different ArcGIS stack with completely different schemas. Miami-Dade has two services that have to be joined. Harris County (Houston) returns parcels keyed by HCAD tax ID, which does not always align with the address. Maricopa County (Phoenix) has the cleanest API of the 32 and was the easiest to integrate.
The shape that came out of the work is one normalized ParcelLookup interface in lib/personalization/types.ts that returns, for any address: assessor parcel number, last-sale value (where public), year built, square footage, lot size, owner type (individual vs. trust vs. LLC), zoning district, and a "data confidence" score capped by the source. Each adapter implements this interface in lib/personalization/assessor-providers.ts plus per-county files. parcel-lookup.ts is the dispatch table.
The 45 historic-overlay polygons cover every named historic district in the cities where overlays meaningfully change the permit pipeline. LA HPOZs (35 districts), NYC LPC (143 districts, but we ship the 6 highest-volume), Boston Article 11 (3 districts), Charleston BAR (one large overlay), Savannah HSPB, San Francisco Article 10, the LA Mills Act overlay (separate from HPOZ). Each polygon is GeoJSON in lib/personalization/historic-overlays.ts with a citation to the city's open-data portal. The lookup is point-in-polygon, computed at request time, served from the edge.
hoa-detection.ts uses a heuristic stack: zoning district hints, master-association lookups in counties that publish them (Maricopa, Orange, Riverside), and a fallback "we don't know — ask the homeowner" mode that does not pretend to be definitive. We do not publish HOA membership data because most counties do not publish it cleanly.
climate-zones.ts maps city + zip to ASHRAE climate zones (1-8 and the A/B/C subdivisions) so the homeowner gets accurate insulation and HVAC sizing references without us inventing data. building-style-inferrer.ts reads the year-built from the assessor and combines with regional norms to suggest a probable building style — a 1922 LA bungalow is post-and-beam; a 1958 Phoenix ranch is stick-frame; a 1908 NYC brownstone is masonry-bearing wall. The inferrer is best-effort and the confidence is rendered honestly.
67 tests cover the 32 adapters' shape contracts, the 45 polygons' point-in-polygon math, the climate zone lookup, and the inferrer's known-good fixtures. We do not test against live county endpoints (rate limits, instability) but ship recorded fixtures so the suite runs offline. The county adapters fall back to "address could not be resolved against the assessor" gracefully — better to admit a miss than fake a hit.
Sources & references
Commit attestation
- 9d84ccb58c4b7e3f9d2a8b1c5e7f6a3d2b1c8e9f
- Tests green
- 67
- Files changed
- 8
- Lines added
- 1,430
- Waves
- 292
- Author
- netanel
Commit SHAs are from the AskBaily private repository. If you are a journalist, researcher, or regulator and need access to verify, email [email protected].
Frequently asked
- Why does AskBaily ask my address?
- Address resolves to the assessor parcel, which gives us year built, square footage, last-sale value (where public), and overlay status. With those four signals plus your scope, the contractor match and the cost estimate are materially more accurate than they would be from city-level data alone.
- Are you storing my address?
- Yes, against the saved scope on /account if you save it. The address is encrypted at rest in MariaDB. We never sell or share the address, and forget-me at /privacy/forget-me clears it within 7 days per the SAR automation (Wave 9.7).
- Why do you publish historic-overlay polygons but not HOA membership?
- Historic overlays are public regulatory data published by every city with an HPOZ-class overlay. HOA membership is private, not consistently published by any county at scale, and the false-positive rate of any heuristic is too high to ship as fact. We ask the homeowner instead.