LeadSentry logo

LeadSentry

Know which door to knock on first.

Built by NaveenKumar Namachivayam · QAInsights

A childhood lead-exposure risk triage agent built for the Mireye Build Challenge. LeadSentry combines Mireye's physical-world data with US Census housing-age data to rank addresses by risk, draft follow-up actions, and show its work with every citation.

500K
U.S. children above CDC's 3.5 μg/dL reference level
26
Erie County ZIPs validated against NYSDOH outcomes
0.55
Spearman ρ between score and real EBLL rate
Real problem: There is no safe blood lead level in children. CDC estimates roughly 500,000 U.S. children have a blood lead level at or above the 3.5 μg/dL reference value. Childhood lead poisoning is almost entirely preventable, but by the time it is caught the harm is done. Health departments have the budget to test, but not the budget to decide which doors to knock on first. LeadSentry does that triage in one call.

What it combines

Mireye's catalog covers hazards, utilities, and parcel boundaries, but does not include housing age. LeadSentry joins Mireye's tract_geoid with US Census ACS Table B25034 (Year Structure Built) to compute pre-1980 housing share, the backbone of CDC/HUD lead-risk models.

Score componentWeightSource
Pre-1980 housing share 0-50 Census ACS B25034 (joined on Mireye tract_geoid)
Legacy contamination 0-30 Mireye EPA SEMS, ACRES, RCRA, UST Finder
Water service gap 0-20 Mireye EPA CWS Service Areas V3.0

Bands: 0-30 low, 31-60 moderate, 61-100 priority.

How it works

  1. Accept an address, a list of addresses, or a full ZIP code.
  2. Fetch Mireye facts and join Census tract housing-age data.
  3. Compute a deterministic, fully cited 0-100 risk score.
  4. Let an LLM reason over data quality and decide the action.
  5. Write the action to an outreach letter or dispatch CSV.

Key capabilities

ZIP-level screening

Score all tracts in a ZIP cheaply first, then decide where to spend the expensive per-address budget.

Agent + rule baseline

Every report shows what the rule baseline would do and exactly where the agent upgraded or downgraded it.

Ground-truth validation

Correlate ZIP-mode scores against real NYSDOH childhood blood-lead testing outcomes.

Offline fallback

No API key? The pipeline falls back to clearly labeled, deterministic rule triage and still produces a complete report.

Privacy redaction

Public-facing reports can replace street numbers and coordinates with placeholders while preserving the score.

Model portability

Works with any provider the Vercel AI SDK supports via LLM_MODEL=provider:model.

Who pays

State and local health departments, EPA Lead and Copper Rule Improvements compliance teams, and water utilities currently stitch this triage together by hand across siloed GIS layers, ACS tables, and county PDFs. LeadSentry collapses it to one call.

Ground-truth validation

LeadSentry's land-weighted mean risk score was compared against real childhood blood-lead outcomes from the NYSDOH Childhood Blood Lead Testing dataset across 26 Erie County, NY ZIP codes.

LeadSentry risk score vs. NYSDOH elevated blood-lead rate

Higher LeadSentry scores align with higher observed elevated-BLL rates per 1,000 children tested.

In high-impact ZIPs like 14212 and 14213, LeadSentry scored 70-72 while NYSDOH observed 87-89 EBLLs per 1,000 children tested. Low-risk ZIPs like 14221 and 14228 scored 35-43 and had zero observed EBLLs.

Try it

npm install

cp .env.example .env

npm start -- --zip 14213 --deep 5

Tokenless demo: npm run demo