Democracy Decoded

The 119th U.S. Congress by generation, party, and geography — 13 interactive visualizations

The question. Who actually represents us — by generation, party, and place — and how does that shape what Congress works on? Democracy Decoded is an end-to-end pipeline and visualization suite over the 119th U.S. Congress, built for UC Berkeley’s Data Visualization course.

Every member of the 119th Congress, plotted by birth year and bills sponsored, colored by generation — explore it live.
From the bill tracker: the 119th Congress's 11,634 bills by type — House bills dominate at 6,486, with an inline legend decoding every bill class from HR to SCONRES — explore the full tracker live.

How it works. Numbered Python pipeline scripts fetch member, bill, and vote data from the Congress.gov API (with caching and rate-limit courtesy), join it to GeoJSON congressional district boundaries, and emit 13 standalone interactive visualizations — Altair charts and D3 maps — including a district-level choropleth, a dual-chamber state map, a party-loyalty ranking, a bill tracker, and the generational dashboard above.

My role. Data pipeline design and the generational/topic analyses, with the team: Banjot Saini, Jane Lai, and Sarah Ki.

Links. Repository · Live demos: generational dashboard · district map · bill tracker · all 13