Batterboard
Turns scattered construction records into a ranked call list showing who is building what, where, and how to reach them.
- Client
- HIGHSPUR, Sioux City region
- Type
- Construction lead-intelligence tool
- Status
- Working tool with a public demo
- Proves
- Systems and operations
The working tool on a copy of the data: 7,687 projects to filter, sort and export. The permits are real; every contact name, phone number and email is invented. No sign-in. If nobody has opened it for a day the host puts it to sleep, so you may have to press ‘wake this app’ and give it a minute.
The problem
Subcontractors hear about new construction late. Of the 334 towns within 100 miles of Sioux City that track building projects, only two make that information usable online. Everywhere else it stays in town offices in inconsistent formats, with nothing connecting a job to the builder doing it.
What I did
- Defined the data model: permits tied to county parcels, projects, builders and contacts.
- Wrote the matching, enrichment and trade-relevance scoring rules, and the review process for uncertain matches.
- Sourced records directly from small towns that have no online system.
- Directed AI-assisted development and validated each stage against hand-reviewed benchmark records.
How it works
Collect
Track down construction records town by town, including from towns that never post them online.
Standardize
Clean up addresses and job types, then tie each job to its property and project.
Resolve
Match each job to the company doing the work and add its business contact details.
Rank
Score every job by how relevant it is to a trade (insulation, roofing, HVAC) and how recent it is.
Work the list
Browse by builder or job, log calls, and export a CSV or a printable lead sheet for the day.
Built with
Python, PostgreSQL + PostGIS, SQLAlchemy / Alembic, Streamlit, and pandas