Verified county permit data, collected and graded

A growing library of post-frame permitting rules per county and city, each row graded for confidence and carrying the sources it was read from.

What it is

Global reference data — jurisdictions, one current permit_rules row each, and permit_sources citations — built out from a prioritised worklist of counties within the builder's service radius. Each merged row records confidence (high/medium/low), whether it still needs phone verification, and the date it was last verified. The collection_queue tracks each county as pending, in_progress, collected, verified or needs_phone.

Also called: permit database · which counties are covered · permit research · verified permit data

See it
Verified county permit data, collected and graded
Won
35%
Avg cycle
14d
Pipeline
$603k
JanSep
The county dropdown showing '✓ data' hints, beside an answer card with a HIGH confidence badge and a Sources list. PermitCheckPanel.tsx countyOptions + AnswerCard. Sample data — no customer information appears here.
How it works
  1. 1collection_queue holds the county worklist with centroid, nearest office, miles and priority
  2. 2Research for a county is written as <fips>.research.json, optionally with a <fips>.verdict.json adversarial review
  3. 3scripts/merge-permit-research.mjs merges each county in a transaction: upsert jurisdiction, replace its rule, insert up to 12 source URLs
  4. 4The verdict can override confidence and the authority phone; an untrustworthy verdict forces confidence low
  5. 5Anything not high-confidence is flagged needs_phone_verification, and the queue row becomes 'collected' or 'needs_phone'
  6. 6A partial unique index guarantees exactly one current rule per jurisdiction, so an answer can never be ambiguous
Why we built it

Migration 091 describes collection_queue as 'the operational worklist for the 250-mile build-out' — the module is only as good as the counties actually researched, so coverage is tracked as work rather than assumed. Grading exists because a scraped answer and a phoned-in answer are not the same thing, and the panel must be able to say which it is holding.

The problem
  • Permitting rules are scattered across hundreds of county websites in different formats
  • An unverified answer presented as fact becomes a wrong quote
Sound familiar?
What you get
Counties with verified data are marked in the picker
Every rule carries its sources and a last-verified date
Weak rows push a phone number instead of a confident answer

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →