The Problem
Congressional bills are dense legal documents that most people don't have time to read or interpret. Civic engagement organizations need digestible summaries to inform their communities about legislation that affects them, but manual summarization doesn't scale when Congress introduces hundreds of bills each week.
The Solution
A full-stack application that automates the entire pipeline: ingesting bills daily from Congress.gov, generating AI-powered summaries via Claude API, and presenting them in an accessible public interface organized by legislative status. The system processes thousands of bills while maintaining quality through a structured feedback loop with AI-summary reviewers.
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
- 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 building a feedback system that captures 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.