How I build the data
If you read something wrong, please let me know.
Where the bills come from
Every bill comes from an official source. US state bills come through LegiScan. Federal bills come from congress.gov. EU bills come from EUR-Lex, and other jurisdictions use their own government sources.
How bills get tagged
Each bill gets a set of impact tags. Examples include grid capacity, water consumption, carbon emissions, local control, AI safety, and deepfake regulation. Tags describe what a bill is about. They don’t say whether it’s good or bad.
Tagging is done with Claude Sonnet 4.6. The model reads each bill’s summary and picks the applicable tags from a fixed taxonomy. I spot-check the output but I don’t hand-review every bill.
How stance gets picked
A jurisdiction’s stancecan be restrictive, concerning, review, favorable, or none. Claude Sonnet 4.6 picks it from the direction and weight of each jurisdiction’s active bills. Enacted bills count more than voted, voted more than committee, committee more than filed.
When a jurisdiction has contradictory bills in flight, it gets labeled “review” instead of one side. When there’s no policy activity at all, it’s “none,” not favorable-by-default.
Some of these calls will be wrong, or will age badly as bills move. If you work in one of these jurisdictions and think the read is off, please reach out.
Data centers
The frontier data center layer comes from Epoch AI’s open dataset (CC-BY). I supplement it with hand-researched entries from public reporting for sites Epoch doesn’t cover yet. Cost and compute figures only appear when the operator or a filing has disclosed them. A missing number means unknown, not zero.
Every dataset is drawn from a public source. Primary links for individual bills and news items stay in the detail panels; this is the rollup.
Legislation
- LegiScan — US state and federal bill text, sponsors, progress events
- Congress.gov — federal bill authoritative source
- unitedstates/congress-legislators — current member roster and identifiers
- EUR-Lex — EU primary legislation text (AI Act, Energy Efficiency Directive)
- European Parliament — MEP roster and votes
- State legislature portals — per-bill source links (Arizona, Kentucky, Washington, Montana, West Virginia, Arkansas, California, and 40+ others)
Data centers
- Epoch AI — Data on AI — frontier data center inventory (CC-BY 4.0)
- Public reporting — operator announcements, planning filings, and local news for sites Epoch doesn't yet cover
Politicians
- unitedstates/images — official congressional portraits (public domain)
- FEC (Federal Election Commission) — campaign finance, donor, and PAC data
- DIME database — Adam Bonica's ideology scores for US legislators
Energy & infrastructure
- U.S. Energy Information Administration (EIA) — power plant capacity and state generation profiles
- Natural Earth — country borders and water features (public domain)
Maps & geocoding
- us-atlas / world-atlas (Mike Bostock) — topojson geography bundles
- react-simple-maps — map rendering primitives
- Nominatim (OpenStreetMap) — facility geocoding (ODbL)
- CARTO basemaps — tile layer for the facility detail view
News
- RSS & public article feeds — Ars Technica, Reuters, The Hill, Politico, state-press outlets, policy-analysis blogs (BABL.ai, ALEC, state-specific mirrors)
Classification & summarization
- Anthropic — Claude — bill categorization, stance inference, multi-dimension classification, and blurb summarization across every regenerated dataset
The full tag taxonomy
Tags are grouped into two lenses: Data Centers and AI Regulation. Each lens has its own set of dimensions. The map’s “Color map by” toggle uses these groupings to recolor jurisdictions by tag density.
Impact tags
Tags grouped by lens and dimension. Use the toggle above to recolor the map by any of these.