Portfolio
PropTech · Data engineering · MarTech

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.

PythonFastAPISQLitePlaywrightWeb ScrapingLeafletETLpytest
2025–2026
20+
Scrapers
Distinct public sources
15+
US markets
Regional onboarding
180k+
County master
Single-market scale
~82%
Valid addresses
After enrichment
480+
Commits
Nov 2025 – Apr 2026
21+
Test modules
pytest suites
The Problem

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.

The Solution

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.

Engineering Highlights
20+
Data sources
15+
US markets
180k+
Master records
Daily cron
In production
Key deliverables
  • ~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
Stack
Python 3.12 + FastAPIAPI, SSR console, orchestration
SQLiteMaster property warehouse and operations DB
Playwright + PatchrightBrowser automation where anti-bot is heavy
Pandas + PydanticTransforms, validation, run reports
Leaflet + GeoJSONPublic territory coverage map
Google Maps / PlacesAddress search on territory views
Email + validation APIsCampaigns, bounces, suppression lists
pytest21+ suites on exports, webhooks, parsing
Linux + systemd + cronVPS production scheduling

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.

Have a similar project?

Let's build it right.

Start a Project