Inspiration
In 2015, 4 million public comments saved net neutrality. In 2024, 160,000 comments forced airlines to give automatic cash refunds. A single farmer's comment changed how the EPA defines "water" under the Clean Water Act.
Under the Administrative Procedure Act (5 U.S.C. § 553), federal agencies are legally required to read and respond to every "significant" public comment. This means your voice carries the same legal weight as a K Street lobbyist's. But almost nobody exercises this power — fewer than 0.01% of Americans submit a public comment each year.
The barrier isn't apathy. It's accessibility. Notices of Proposed Rulemaking are 300-page PDFs written in dense legalese. The average American doesn't know what an NPRM is, let alone how to find one relevant to their life and draft a comment with proper legal citations that an agency must address.
We built PolicyVoice because democracy shouldn't require a law degree.
What it does
PolicyVoice is an end-to-end AI-powered platform that turns any American into an effective public commenter on federal regulations.
Real-Time Docket Search
Search regulations.gov by keyword ("broadband", "PFAS", "healthcare") and browse active rulemakings from every federal agency. No more hunting through the Federal Register.AI-Powered NPRM Analysis
Select any docket and our AI instantly parses it into structured sections — key proposals, agency reasoning, and the exact questions the agency wants answered. All with a Plain Language Mode toggle that translates government jargon to an 8th-grade reading level.Personalized Interview
Our AI asks 4-5 targeted questions designed to surface your unique personal experience, professional expertise, or community perspective. This is what makes comments "significant" under the APA — specific, novel information the agency wouldn't otherwise have.APA-Compliant Comment Drafting
The AI drafts a formally structured comment with proper citations, page references, and docket identifiers. The comment directly addresses the agency's questions and incorporates your personal experience as evidence.Comment Effectiveness Score
Before you submit, our AI rates your comment 1-10 across four dimensions: specificity, evidence, relevance, and persuasiveness. It identifies strengths, flags weaknesses, and gives concrete suggestions for improvement. Revise and re-score until your comment is "Highly Effective."Direct Regulations.gov Submission
Submit your comment directly to the federal docket via the Regulations.gov API — with a tracking number returned on success. Or copy, download, or share your draft.Impact Stories
A built-in gallery of real public comments that changed federal policy — proving this isn't theoretical. Net neutrality. Airline refunds. Clean water protections. All shaped by ordinary citizens who spoke up.
How we built it
Frontend: Next.js 14 (App Router) with TypeScript in strict mode, styled with Tailwind CSS. The UI follows a 5-step wizard with a visual progress indicator, animated transitions, and responsive design.
Backend: Seven Next.js API routes handling all server-side logic:
- /api/search-dockets — Queries the live Regulations.gov v4 API
- /api/process-docket — Fetches docket documents and uses AI to structure them into sections with proposals, reasoning, and questions
- /api/generate-questions — Generates personalized interview questions from NPRM content
- /api/draft-comment — Drafts a formal comment incorporating user answers
- /api/score-comment — Evaluates comment effectiveness with breakdown scores and improvement suggestions
- /api/plain-language — Translates government text to 8th-grade reading level (with in-memory caching)
- /api/submit — Submits comments via the Regulations.gov API
AI/LLM: OpenAI GPT-4o via the OpenAI API, with a clean abstraction layer supporting any OpenAI-compatible provider (OpenRouter, Together AI, Groq, etc.).
External APIs: Regulations.gov v4 API for docket search, document retrieval, and comment submission.
Architecture: All state is managed client-side in React with a single-page step machine. No database — the app is stateless and ephemeral. API routes are serverless-compatible.
Challenges we ran into
Regulations.gov API quirks
The v4 API has undocumented constraints — page[size] must be ≥ 5, sort field names don't match the documentation, and rate limits are aggressive. We had to reverse-engineer the correct query parameters through trial and error, building robust error handling that gracefully degrades when the API is unavailable.Prompt engineering for APA compliance
Getting the LLM to draft comments that are substantively and legally sound — not just polite letters — required careful prompt design. We had to teach the model about the APA's "significant comment" standard, docket citation format, and the importance of directly addressing the agency's specific questions rather than opining broadly. Early drafts read like customer service complaints. The final prompts produce comments that cite specific NPRM sections and counter the agency's stated reasoning.Balancing automation with user agency
The core insight of this project is that the user's unique experience is what makes a comment powerful. We had to resist the temptation to fully automate — the interview step is conversational, not a form, because we want to surface information even the user didn't realize was relevant. The effectiveness score encourages iterative improvement rather than one-click acceptance.Plain Language translation fidelity
Government regulations contain precise technical definitions. Translating "Maximum Contaminant Level Goal of 4.0 parts per trillion for PFOA" into plain English without losing the specific numeric standard was a real challenge. We solved this with few-shot prompting and conservative translation rules that preserve all numbers, dates, and proper nouns.TypeScript strict mode
Next.js build-time type checking caught every implicit any type across our 25+ source files. Worth it for production-quality code, but it added iteration time to every component. We solved this by adopting explicit type annotations on all callbacks from day one.
Accomplishments that we're proud of
It actually submits to the government.
This isn't a mockup. Comments go into the real Regulations.gov docket via the official API. The tracking number is real. The civic impact is real.The Effectiveness Score is a genuine teaching tool.
A generic "I think data caps are bad" scores 2/10 with "low" APA significance. The same person, after our interview and improvement suggestions, can produce an 8.5/10 comment. We're not just drafting — we're teaching people how to be heard.Plain Language Mode changes who can participate.
Government transparency advocates have pushed for plain-language rulemaking for decades. With one toggle, we did it. A single mom in rural Montana can now read the FCC's broadband proposal as easily as a telecom lawyer.The search-to-submission pipeline works on ANY active rulemaking.
We pre-loaded 3 NPRMs for quick demos, but the real-time search means our tool covers every proposed rule in the federal register. EPA. FCC. HHS. DOT. USDA. All of them.Built entirely in one stack.
Next.js, TypeScript, Tailwind, one LLM provider, one government API. No microservices, no separate backend, no infrastructure complexity. Seven API routes. Works on a laptop. Deploys to Vercel in one click.Zero user data stored.
No accounts. No database. No tracking. You come, you comment, you leave. The government has your comment. We don't have anything.
What we learned
The APA is the most underutilized lever in American democracy.
We read the Administrative Procedure Act, the rulemaking process, and dozens of final rules that cited public comments. The system works — if you know how to use it. The barrier isn't the law; it's the interface. This was deeply motivating.
The regulations.gov API works, but it's not built for citizens.
It's a developer API with JSON responses and query parameters — powerful, but the average person will never use it. We built the citizen-facing layer on top. This "API-first government service" pattern could be replicated for FOIA requests, congressional correspondence, and more.
LLMs are surprisingly good at regulatory analysis — if you give them structure.
Feeding an LLM raw NPRM text produces vague summaries. Feeding it section-by-section with specific extraction instructions (key proposal, agency reasoning, questions asked) produces legally accurate, actionable output. Structure matters more than model size.
Civic tech doesn't need accounts.
The instinct is to build user profiles, comment history, and dashboards. But for a tool designed to lower barriers, asking people to create an account is another barrier. We learned that stateless + ephemeral + one-click is a valid (and in some ways superior) design pattern for civic tools.
What's next for PolicyVoice
Short term (post-hackathon polish):
- PDF upload with OCR parsing for custom NPRMs (so users can upload rules directly from the Federal Register)
- Multi-section batch comments (address multiple NPRM sections in one submission)
- Voice input for the interview step (Web Speech API)
- PWA support for offline draft review on mobile
Medium term (real-world adoption):
- Comment tracking — monitor dockets for agency responses to your submission
- Community campaigns — one person drafts, others co-sign with their name and email
- Organization mode — advocacy groups, nonprofits, and community organizations can manage multiple commenters
- Weekly email digest — upcoming comment deadlines on topics you care about
Long term (platform expansion):
- FOIA request drafting — the same interview-to-draft pipeline applied to Freedom of Information Act requests
- Congressional correspondence — draft letters to representatives on active legislation
- Multi-language support — translate the entire interface and all NPRM content into Spanish, Mandarin, Arabic, and more
- Regulatory analytics dashboard — track which agencies are most responsive to public comments, which topics get the most engagement, and where citizen input is making the biggest difference
Our north star: A world where commenting on a proposed rule is as easy as leaving a product review. Because your water quality deserves at least as much attention as your Amazon purchase.
Built With
- lucide
- next.js-14
- openai-gpt-4o
- react-18
- regulations.gov-v4-api
- tailwind-css
- typescript
Log in or sign up for Devpost to join the conversation.