We wanted to use data for good and since midterms wrapped up we wanted to make something that helped. Inspiration Knowing how elected officials vote should not require hours of searching government websites or understanding jargon. We built Real News to help people explore their representatives’ records understand what each vote means and form their opinions.

What it does Real News lets users select a state explore its elected offcials and browse their voting records over the four years. Users can filter votes by date and position view results and tallies. Explore related policies and news coverage.

The interface explains terms in plain English while preserving the official vote information.

How we built it

We built the frontend with Next.js, React, JavaScript and CSS and the backend with Python and FastAPI. Cloud Firestore stores records and caches data for the application. Google cloud gives us a way to login.

Our ingestion pipeline combines member information, Senate.gov vote records and Congress.gov policy details. The frontend communicates through our backend keeping credentials and external service calls on the server.

Challenges we ran into

data comes from multiple sources with different formats and identifiers. Connecting members, votes and policies required IDs, careful parsing and handling former members and changes in office.

Some official sources block automated requests so we implemented a fallback to keep ingestion moving. We also had to manage API limits and Firestore batch sizes.

Presenting votes accurately was another challenge. A "Yea" on a motion does not necessarily mean support for the underlying bill so we made the type of vote visible alongside its subject.

Accomplishments that we're proud of

We brought scattered information into a single application with state-based navigation voting history filters, detailed roll-call views and related news.

We are especially proud of making procedural votes easier to understand without replacing the record or assigning political scores. We also built an ingestion pipeline that supports our expansion into both chambers of Congress. We then used google cloud to build a way to save the politicians you want to keep track of and save the articles you want.

What we learned

We learned that making public data accessible requires more than collecting it. Reliable identifiers, clear labels, historical context and thoughtful navigation all affect whether users can understand what they see.

We also gained experience connecting a Next.js frontend to a Python backend organizing Firestore data around application queries and handling unreliable external sources.

What's next, for Real News

We also plan to improve usability make data updates easier to manage and refine loading and error states. Throughout that work our goal remains the same: help people understand voting records and reach their own conclusions.

Share this project:

Updates

Submission history