1) Inspiration: When we looked across every focus area in this hackathon, governance stood out immediately — not because it was the easiest problem, but because it had the highest impact quotient.
Dario Amodei's Machines of Loving Grace describes a future where AI strengthens democracy and expands opportunity. That future requires a prerequisite that doesn't yet exist: citizens who actually know what their government has decided on their behalf.
The problem we kept returning to was information asymmetry. When a bill passes, lawyers know what it means. Lobbyists know. Wealthy professionals with advisors know. Everyone else finds out months later — through a higher tax bill, a changed insurance rate, or a new zoning law that upends their neighborhood. The knowledge gap isn't about intelligence. It's about access.
We came into this hackathon with separate ideas — domain-specific angles around energy policy and government schemes. But when we pressure-tested each one, we kept hitting the same root cause: people don't know what their government has decided on their behalf. The domain didn't matter. The information gap was everywhere.
So we stopped asking which sector and started asking: what is the single intervention that cuts across all of them? The answer was translation — taking the language of legislation and making it personal, immediate, and free.
This connects directly to three UN Sustainable Development Goals:
- SDG 16 (Peace, Justice & Strong Institutions) — reducing information asymmetry between governments and citizens
- SDG 10 (Reduced Inequalities) — the communities most harmed by policy are always the ones least informed about it
- SDG 4 (Quality Education) — civic literacy is a form of education the system has never delivered equitably
One problem. Three SDGs. That's what told us this was the right space. That's Polis.
2) What It Does? Polis gives every citizen — regardless of income, education, or language — an immediate, personalized answer to the only question that actually matters: "What does this mean for me?"
3) How it works?
You tell Polis about your life — ZIP code, housing situation (renter or homeowner), employment status, household income bracket, whether you have children, your health insurance type, and your industry. One 90-second onboarding. No account required.
Polis monitors legislation — federal, state, and local bills tracked continuously. When legislation passes or is amended, Polis analyzes it against your profile instantly using the Claude API.
You get a plain-English daily briefing — one email, every morning. Impact headlines, personalized summaries by severity (high / moderate / low), and a direct link to the original legislation. No spin. No opinion. Just: here is what changed, and here is what it means for you specifically.
4) What makes Polis different from every existing tool? Every legislative tracking platform that exists today — Quorum, Politico Pro, FiscalNote, LegiScan — was built to serve organizations, lobbyists, and government affairs professionals. Not one was built for the person the policy actually lands on. Polis is the first civic intelligence tool built for the citizen, not the consultant.
5) How We Built It? Polis is built around a core AI pipeline powered by the Anthropic Claude API.
When a new bill passes, we feed the legislative text into Claude with a structured prompt that includes the user's profile — their ZIP code, housing status, employment, income bracket, family situation, and industry. Claude's task is not to summarize the bill generally, but to answer a specific, personal question: given exactly this person's circumstances, which provisions apply, how significant is the impact, and what should they know?
The output is structured into three impact tiers (high / moderate / low), each with a plain-English explanation and a confidence flag — because we take the hallucination risk seriously. Every summary links back to the original source legislation so users can verify independently.
6) Tech stack: Frontend: React 18.3.1 (Vite + SWC) Backend: Node.js / Express 5.2.1 AI: Anthropic Claude API (claude-sonnet-4-6) Legislative data: Mock bill database (bills.js) — 11 hardcoded bills across federal and state jurisdictions Database: SQLite via better-sqlite3 Email delivery: Nodemailer with Ethereal Email (test/dev SMTP)
7) Challenges We Ran Into: The personalization problem. Generic bill summaries are easy. Personalized impact analysis is hard. A rent control bill affects a renter, a homeowner, and a landlord in completely different ways — and a property tax change affects someone differently depending on their income bracket, state, and lease type. Getting Claude to produce genuinely differentiated outputs based on user profile, rather than slightly reworded versions of the same summary, required significant prompt engineering work. The hallucination risk is real and we took it seriously. When AI gets civic information wrong, it doesn't just inconvenience someone — it can cause real harm. Someone might fail to apply for a benefit they're entitled to, or panic about a policy impact that doesn't apply to them. We built confidence flagging and mandatory source linking into every output, and we flag nuance explicitly ("this bill affects renters differently depending on lease type") rather than projecting false certainty. Legislative data is messy. Bill text is not written to be machine-readable. It references other bills, amends existing statutes, and uses legal language that requires context to interpret. Cleaning and structuring this input before it reaches Claude was a larger engineering challenge than we anticipated.
8) Accomplishments That We're Proud Of: Built a working AI pipeline that takes raw legislative text and returns genuinely personalized, profile-matched impact analysis — not a generic summary Designed an onboarding flow that captures the eight profile dimensions needed for meaningful personalization in under 90 seconds, with no account creation required Confronted the ethical risks of our own product honestly — hallucination disclaimers, source linking, and nuance flagging are built into the core output, not added as an afterthought Grounded the product in real research: civic knowledge gaps, the equity dimension of who bears policy impacts, and the complete absence of citizen-facing legislative tools in the existing market
9) What We Learned? Building with the Claude API taught us that the quality of AI output is almost entirely a function of how well you define the task. "Summarize this bill" produces a paragraph. "Given that this user is a renter in ZIP code 10031 with two children and employer-sponsored health insurance, identify every provision in this bill that applies to their situation, rate the impact severity, and explain it in two sentences a 16-year-old could understand" produces something genuinely useful. We also learned that civic tech is unusually hard to get right ethically. Most AI products have low stakes if they're slightly wrong. A tool that tells someone what their government decided about their housing, their taxes, or their children's school funding has real consequences if it hallucinates. That responsibility shaped every design decision we made.
10) What's Next for Polis? Multilingual support — Spanish, Mandarin, Hindi, Haitian Creole, and Arabic, reaching the immigrant communities most impacted by local policy and least represented in civic discourse Local government expansion — city council votes, zoning decisions, and school board resolutions, which affect daily life more directly than federal legislation but receive almost no civic attention Two-way action layer — not just informing citizens about what passed, but helping them contact their representative, submit a public comment, or find a community organization working on that issue B2G partnerships — working directly with city governments and civic organizations to distribute Polis to underserved communities as a public service Verified accuracy layer — partnering with legal aid organizations to spot-check AI summaries against expert interpretation
Built With
- .2.1
- 5
- anthropic
- api
- claude
- express.js
- node.js
- nodeemailer
- sql
Log in or sign up for Devpost to join the conversation.