investigation / operations
811Dog
A Tennessee 811 monitoring pipeline built from a real field need and generalized so the target lives in configuration, not code.
Problem
Thousands of public excavation tickets are available, but only a small fraction matter for a given operating question. Brute-force detail scraping is noisy, expensive, and unnecessary.
Method
Use the portal export first. Cheap row-level signals classify most tickets; only candidates worth deeper inspection trigger detail/PDF retrieval. Parsed tickets land in SQLite and feed a static React/Vite dashboard, reminders, CSV, and KMZ exports.
Explainability
Every classification carries the rules and weights that fired. Rules can be changed and historical tickets rescored without re-scraping the portal.
Data boundary
Caller names and phone numbers may exist in public records but are excluded from the published static surface. Raw/parsed data remain outside the repository; an explicit boundary controls what crosses into dashboard JSON.
Verification
335 tests cover parsing, normalization, relevance scoring, grouping, reminders, exports, data-boundary behavior, and portal adapters. Fixtures allow the suite to run offline.