← Back to Projects
Lantern logo

Lantern

Live

Overdose and care, county by county. Lantern is a public-health atlas for every county in the United States: overdose death rates with a twenty-year trend, opioid prescribing, shortage areas and social vulnerability, set quietly on a dark map. It shows places, never people, and says plainly what is counted and what is modelled.

Screenshots

What It Does

  • →Maps overdose death rates for every U.S. county, with a 2003 to 2021 trend line for each one and the state line ghosted behind it
  • →Shows Medicare Part D opioid prescribing, mental-health shortage areas and social vulnerability on the same map, each labelled as modelled, claims-based, provisional or a designation
  • →Drops to census tracts for six states as you zoom into a county, and switches between a state view and the whole country with a state-only colour scale
  • →Ranks a county in its state and in the country, and compares two counties side by side with A and B badges
  • →Steps through counties from the keyboard, with a plain county list for screen readers and switch access, and announces each selection
  • →Draws suppressed and missing data as a hatch, never as zero, and says plainly what is counted and what is modelled

What I Built

  • →A static, installable web app (React, TypeScript, Vite) with MapLibre GL on the owner’s own county and tract polygons: no basemap, no map service, no keys
  • →Every number is baked at build time from NCHS, CMS, HRSA, CDC/ATSDR SVI, CDC PLACES and Census files, with a fetch script that checks size, hash and header before anything is parsed
  • →A choropleth ramp tuned and checked under three colour-blindness simulations, with hatching for data that is not published
  • →The whole view lives in a strictly parsed URL hash; snap-point sheets trap and return focus; live regions announce county and topic changes; axe-clean on 16 screens
  • →A locked-down content security policy with no inline code and no remote origin, shape-checked data files, versioned storage and a bounded service-worker cache
  • →Source Serif 4 and Public Sans self-hosted, no analytics, no accounts, no trackers; 119 tests