Property Data & Marketing Platform
PropTech · MarTech (United States)
Production full-stack platform that ingests public property signals, matches county master records, and powers territory maps, credits, email campaigns, and direct-mail exports.
Active production system since late 2025 (~6–7 months), 480+ commits, daily scheduled scrapers, and pytest coverage on critical business rules.
Teams acquiring and marketing to property owners need one place to collect public signals — listings, county records, court filings, classifieds — match them to official parcel data, segment lists by equity and entity type, and run outbound email and direct mail without spreadsheets and manual exports.
We delivered an end-to-end platform: Python scrapers (browser, REST, and lightweight HTTP) run on a daily production schedule, normalize and validate with Pydantic, match leads to county master data (parcel ID, then address, then owner name), tag properties in a central SQLite warehouse, and expose everything through a FastAPI operations console — multi-market dashboard, geo-region management with credits, mailing history, territory map with ZIP tiers, campaign tooling with delivery analytics, and automated weekly exports for print partners.
- ~20 production scrapers across classifieds, counties, courts, and open-data APIs
- Central master database with source and event tags (~900MB+ in production)
- Operations console: dashboard, geo-regions, credits, mailing history
- Territory map with ZIP tiers and address lookup
- Email campaigns with lists, analytics, and delivery webhooks
- Automated direct-mail export pipeline with LTV segmentation
- 480+ commits and automated tests on core business logic
Three-level county matching
External leads rarely arrive with clean parcel IDs. The pipeline tries APN first, then normalized address, then owner name — and rejects records that cannot be tied to master data so sales lists stay trustworthy.
Layered anti-bot by source
Marketplaces and county portals need different strategies: datacenter proxies, residential pools, and dedicated browser APIs. Patchright is used where fingerprint detection is aggressive.
List cleaning at scale
Business rules strip new construction, stale addresses, bad LTV bands, and corporate or trust entities. In real runs roughly half of raw rows can be filtered before export while keeping audit-friendly reject files.
Multi-market onboarding
New regions follow a documented path: county import into master, scraper cron, GeoJSON territories, and operator assignment — without forked code per state.
Observable pipeline outputs
Every run produces structured artifacts: full and delta CSVs, categorized rejects, and JSON run reports so ops can see what changed since yesterday.
Enterprise handoffs
CRM webhooks, global opt-out suppression, and iframe-friendly embeds connect the console to existing sales workflows without re-entering data.