All work

Batterboard

Turns scattered public building-permit records into a ranked call list: who is building what, where, and how to reach them — before competitors hear about the job.

Client
HIGHSPUR · Sioux City region
Type
Construction lead-intelligence tool
Status
Working tool · public demo
Proves
Systems and Operations
Open the live app — coming soon

The real app on a public copy of the data. Permits are real; every contact name, phone and email is fictional. It may take ~30 seconds to wake up.


The problem

Subcontractors learn about new construction late. Permit records are public, but of the 334 towns within 100 miles of Sioux City that issue permits, only two publish a usable online portal — the rest sit in clerks' offices, in inconsistent formats, with no link to the builder behind the job.

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.
  • Ran records requests to small-town clerks to cover towns with no online portal.
  • Directed AI-assisted development and tested each stage against hand-reviewed benchmark records.

How it works

  1. Collect

    Pull permits from city portals and clerk records requests; pull county parcel data.

  2. Standardize

    Normalize addresses and permit types; tie each permit to a parcel and project.

  3. Resolve

    Match each filing to the company doing the work and enrich it with business contact details.

  4. Rank

    Score every job by relevance to a trade (insulation, roofing, HVAC…) and freshness.

  5. Work the list

    Browse by builder or job, log calls, export a CSV or printable lead sheet.

Built with

Python, PostgreSQL + PostGIS, SQLAlchemy / Alembic, Streamlit, and pandas