Back to Work
Environmental Tech

Chemical Action Map

EPA Risk Visualization

View Live Site
Next.jsArcGIS JS APITypeScriptMaterial UI
Chemical Action Map

01The Challenge

The EPA evaluates chemical risks one substance at a time — a framework designed decades ago that ignores the reality of industrial corridors where communities are exposed to dozens of toxics simultaneously through air, water, and soil.

Without a tool that quantifies cumulative exposure and connects it to political action, residents near these facilities have no data-backed way to demand stronger protections from the legislators who control EPA policy.

The EPA's single-chemical approach means a community surrounded by five facilities — each "within safe limits" — has no regulatory recognition of its compounding exposure.

02The Solution

We built a full-stack Next.js application on top of ArcGIS WebGL that ingests facility-level emissions from the EPA Toxics Release Inventory, joins them with census-tract demographics and EDF's proprietary cumulative-risk model, and renders the result as a multi-layer interactive map.

Users can toggle health-harm overlays, filter by chemical class, and click any facility dot to see exactly what it releases and how the surrounding tract scores on cumulative risk — turning abstract regulatory data into a visceral, location-specific picture.

The "Send a Letter to Congress" feature closes the loop from awareness to action: enter a zip code, and the app resolves your congressional representatives, pre-fills a letter with your local exposure data, and lets you send it in one click.

ArcGIS WebGL renders 70k+ census tracts and 20k+ facility dots at 60 fps. Toggling layers (health harms, chemicals, vulnerability) triggers server-side joins, not client re-fetches.

From EPA Data to Congressional Action

Step 1

TRI Ingestion

EPA Toxics Release Inventory data ingested and normalized per facility

Scheduled ETL → PostgreSQL

Step 2

Risk Modeling

EDF cumulative-risk model scores each census tract across 12+ exposure factors

Demographic + proximity joins

Step 3

Map Rendering

ArcGIS WebGL renders 70k+ tracts and 20k+ facility dots with togglable overlays

Feature layers + WebGL tiles

Step 4

Facility Lookup

Click a dot to fetch facility details, chemicals released, and tract risk score

ArcGIS hitTest → detail panel

Step 5

Letter Generation

Zip code resolves to congressional reps; letter pre-filled with local exposure data

Cicero API → letter template

03Key Features

Interactive Mapping

ArcGIS WebGL map with togglable layers for health harms, chemical types, and community vulnerability scores — rendered at 60 fps across 70,000+ census tracts.

Facility Detail Modal

Facility Detail Modal

Click any facility dot to see its name, EPA ID, chemicals released, release medium (air, water, land), and the census tract's cumulative risk score — all fetched from the TRI dataset joined with EDF's risk model.

Cumulative Risk Analysis

Layers multiple chemical exposures, demographic vulnerability factors, and proximity data into a single risk score per census tract — surfacing the compounding danger that single-chemical assessments miss.

Send a Letter to Congress

Send a Letter to Congress

One-click advocacy: enter a zip code and the app generates a personalized letter to your House and Senate representatives, pre-loaded with local chemical exposure data and EDF's policy ask.

The "Send a Letter" flow captures a zip code, resolves congressional districts via the Cicero API, and pre-fills a letter with tract-level exposure data — turning passive data consumption into direct advocacy.

04Results

0k+

Census tracts mapped

Full U.S. coverage
0k+

TRI facilities

EPA emissions data
0+

Risk factors layered

Cumulative scoring
0-click

Congressional action

Zip to letter