The Problem
Congressional bills are dense legal documents that most people do not have time to read or interpret. Civic engagement organizations need digestible summaries to inform their communities about legislation that affects them, but manual summarization does not scale when Congress introduces hundreds of bills each week. The underlying challenge is one we see across civic data work: information that affects people's lives is technically public but practically inaccessible because of the form it is in.
The Solution
A full-stack application that automates the pipeline: ingesting bills daily from Congress.gov, generating AI-powered summaries via the Claude API, and presenting them in an accessible public interface organized by legislative status. A planned structured human review system will allow reviewers to assess summaries across multiple quality dimensions, with that feedback informing prompt design so summary quality improves over time rather than drifting.
The same pattern of pulling from a government data source, applying AI under human oversight, and surfacing results for non-expert audiences applies to municipal records, regulatory filings, public meeting transcripts, and other civic information that would benefit from plain-English translation.
Key Features
- Automated daily data ingestion from Congress.gov API with intelligent filtering by action type
- AI-powered bill summarization with two-tier format: concise summary plus detailed breakdown
- Bills organized by legislative status: introduced, in committee, floor activity, sent to president
- Planned quality assurance pipeline with multi-dimensional reviewer feedback for continuous AI improvement
- Admin dashboards for API usage tracking and cost monitoring
- Direct links to original bill text on Congress.gov for verification
Screenshots
Technical Approach
The platform runs on Flask with a PostgreSQL database, deployed on Railway with automated scheduled jobs for daily ingestion. Key architectural decisions included designing a two-tier summary format to balance accessibility with depth, implementing rate limiting and retry logic for reliable API interactions, and designing a planned feedback system that will capture reviewer assessments across multiple quality dimensions. Cost monitoring was built in from the start to track Claude API usage and ensure sustainable operation at scale. Human-in-the-loop review is treated as part of the system rather than as an external workflow: AI-generated content for public civic audiences should never be treated as final without a person verifying it.