Data setup Upload any number of CSVs, or load same-folder CSV paths.
Data setup
Upload as many CSV files as you want. Static-hosting mode can also fetch comma-separated paths from the same folder. Dataset names are inferred from the most frequent committee_name value.
Hosting note
For automatic same-folder CSV loading, deploy the folder through Cloudflare Pages, GitHub Pages, Netlify, or a local static server. Opening index.html directly from disk can block fetch(), but the file picker still works.
State heat maps by filtered count
This tile heat map uses contributor_state. Hover a state for raw count, percent of that filtered dataset, top cities, and top ZIP codes.
Contributor profile data
Each vertical chart shows the top N values by filtered row count. The final bar groups all remaining values, including blanks. Hover the Other bar to see the next five most frequent values grouped into it.
Numeric filters and distributions Collapsed by default. Amount/YTD filters and bucket settings update maps, profile charts, distributions, and tables.
Numeric filters and distributions
Min/max filters default to no limit. Buckets are recomputed after filtering. Aggregate YTD can hint at repeat/unique contributor behavior, but it is not a unique-person identifier by itself.