Skip to main content
MyCapitol Logo
MyCapitol

How We Use AI

We think you deserve to know when AI is involved, what keeps it honest, and where it can still get things wrong. Here's how it powers MyCapitol — the features you interact with, how we check AI-produced data before you see it, and how we built the platform.

AI Features You'll Encounter

We use AI to make complex congressional data more understandable and accessible. Here's where you'll see it at work:

Billie AI Legislative Assistant

Our chat assistant answers questions about bills, representatives, and the money and influence around them in plain language, and helps you prepare for advocacy.

Billie doesn't answer data questions from memory. When you ask about a bill, a lawmaker, or an organization, Billie first searches our database or runs a set of read-only queries against it, then writes its answer only from the records that came back. It cannot browse the web, and it cannot change anything in the database. If the records don't contain an answer, Billie is supposed to say so rather than fill in the gap. The one exception is general questions — how a bill becomes law, or how to use a MyCapitol feature — which Billie answers from general knowledge and our help guide.

What to know

Grounding in real records narrows the ways Billie can be wrong, but doesn't eliminate them. Billie can misread the records it gets back, miss an organization that's filed under a slightly different name, or describe a pattern with more confidence than the records support. Our database holds the public records we've imported, not everything that exists.

Best practice

Treat Billie as a research starting point, not a definitive source. Ask it which records a claim is based on, and cross-check specifics — bill statuses, dollar amounts, dates — against Congress.gov or the original filing before you cite it.

Bill Summaries

AI generates plain-language summaries of congressional bills so you don't have to parse dense legal text. These summaries aim to be accurate and nonpartisan.

What to know

Summaries may oversimplify provisions, omit important exceptions, or subtly shift emphasis in ways that don't fully reflect the bill's intent. Technical or highly specialized legislation is especially prone to inaccuracy. Unlike the data we extract from documents (see below), summaries are not checked by a second AI. Automatic checks catch obvious failures, such as a summary written from an error page instead of the bill text, and every reader flag goes to our team.

Best practice

Use summaries to quickly decide if a bill is relevant to you, then read the full text for anything you plan to cite, share, or act on. Don't quote an AI summary as if it's the bill's language. If a summary looks wrong, hit the flag button next to it — we review every flag.

Semantic Search

When you search for bills or organizations, AI-powered embeddings help find conceptually related results — not just exact keyword matches. This surfaces relevant legislation you might otherwise miss. This kind of AI ranks and matches; it never writes text.

What to know

Semantic search can surface surprising connections, but it can also return results that seem related but aren't, or miss relevant bills that use different framing. It's a complement to keyword search, not a replacement.

Best practice

Try multiple search approaches. If you're doing thorough research on a topic, combine semantic search with keyword filters, policy area browsing, and committee-based exploration to make sure you're not missing anything.

Policy Document Generation

Our Create tool uses AI to help you draft talking points, letters to representatives, testimony, and other advocacy documents grounded in real legislative data.

What to know

Generated documents are drafts, not finished products. They may contain factual errors, use generic language, or miss context that's specific to your situation. The AI writes persuasively, which can mask weak or inaccurate arguments.

Best practice

Always edit generated documents in your own voice. Verify every factual claim before sending anything to a legislative office. Add your personal story and specific ask — that's what makes advocacy effective, and AI can't do it for you.

Representative Summaries

AI generates biographical and legislative summaries for each member of Congress, pulling together career highlights, policy focus areas, and committee roles into a readable profile.

What to know

These summaries are generated from available data and may not capture recent developments, nuanced positions, or the full scope of a representative's record. They aim to be nonpartisan but may unintentionally emphasize certain aspects over others. Like bill summaries, they rely on automatic checks and reader flags rather than a second AI review.

Best practice

Use rep summaries as a quick orientation, especially before a meeting or when researching someone new. For a complete picture, explore their sponsored bills, committee assignments, and voting record directly on their profile page. If something looks off, hit the flag button on their profile — we review every flag.

Pulling Facts Out of Documents

Much of the influence data on MyCapitol starts life as a document, not a spreadsheet. AI reads press releases and coalition letters to find which organizations endorse or oppose bills, congressional letters to find which lawmakers signed oversight requests, foreign-agent (FARA) filings to find who paid whom and which offices they contacted, personal financial disclosure forms to find lawmakers' holdings and trades, and hearing transcripts to produce recaps of who testified and what was said.

Every one of these pipelines runs the same two-step check described in the next section: one AI extracts, a second AI audits the extraction against the original document, and for the most sensitive categories a person approves each item before it goes public.

What to know

Extraction from unstructured documents is inherently imperfect. AI may misclassify a position (reading a neutral mention as an endorsement), miss organizations from a long signatory list, misread a dollar range on a scanned form, or link a record to the wrong bill or lawmaker. Scanned and oddly formatted documents are the weakest link.

Best practice

Look for the Pending Human Review badge — it means the data was AI-extracted and hasn't been verified by our team yet. Wherever we can, we link to the source document so you can check the original yourself. If something looks wrong, let us know.

How We Check What the AI Extracts

An AI that reads a filing and writes down what it found will sometimes get it wrong, and the pipeline itself can't tell. So we don't let one model be the last word.

Two AIs, two jobs, two sets of credentials. One model extracts facts from a document. A second model, the auditor, is handed the same original document plus the extracted facts and asked one narrow question: which of these does the document not support? The auditor can only reject. It cannot add a fact, rewrite a row, or invent a correction. Our own code applies its verdicts. The two steps run under separate credentials (different API keys), so the model producing facts is never the one judging them.

What happens next depends on the data. Items the auditor rejects are dropped. Items it confirms are saved with both models' confidence scores attached, so we can always see how sure each step was. For endorsements, oversight letters, and hearing recaps, a member of our team then approves or rejects each item before it appears without the Pending Human Review badge. For financial disclosures, when the auditor finds a problem we have a separate AI re-read the filing from scratch. If its version passes the audit, it replaces the original. If it independently arrives at the same rows the original did, we treat the auditor's flag as a false alarm, since two readers who can't see each other agreed. Otherwise the filing stays visible but flagged for our team to look at.

Nothing is silently lost. If the auditor is unavailable, the pipeline doesn't stop and it doesn't quietly throw data away. Items are saved marked as unaudited so we can come back to them.

AI also breaks ties when matching records. Public data spells the same company a dozen ways. When simple matching can't tell whether two organization records are the same entity, or whether a stock a lawmaker disclosed is a company we already track, AI reviews only the uncertain cases. Clear matches are applied without it, and weak ones are discarded before it ever sees them.

What to know

A second opinion is not a guarantee. Two models can misread the same badly scanned line, and the auditor can flag something that was actually right. Some data quality issues — outdated committee assignments, mismatched campaign finance records, a lobbying filing attached to the wrong bill — may still exist in the platform.

Best practice

If a data point looks wrong or outdated, trust your instinct and check the source document we link to. User reports are one of the most valuable ways we catch issues that automated checks miss. If you spot one, let us know.

What AI Does Not Do Here

AI does not create the underlying records. Bills, votes, members, and committees come from Congress.gov. Campaign money comes from the Federal Election Commission. Lobbying comes from the Senate and House disclosure systems. Foreign-agent filings come from the Justice Department. Financial disclosures come from the House and Senate clerks. AI reads, summarizes, and organizes these public records; it doesn't invent them.

AI does not decide what's suspicious. When Billie or a summary points out that an organization gave money to a lawmaker and also lobbied on a bill that lawmaker sponsored, that is a pattern in public records, not a finding of wrongdoing. We instruct our models to say “lobbied on” rather than “supported” or “opposed,” because disclosure forms don't say which side an organization was on, and never to describe money and legislative activity as cause and effect.

AI does not write directly to our database. Billie's connection to the database is read-only, enforced by the database itself. The extraction pipelines above write only through our own code, after the checks described.

Built with AI Assistance

We believe in practicing the transparency we preach. MyCapitol itself is built with significant help from AI coding tools.

Our development team uses AI assistants to write code, design features, debug issues, and iterate on the platform. This isn't a secret — it's a core part of how a small nonprofit team can build and maintain a platform of this scope.

AI-assisted development means we can move faster, but it also means imperfections are inevitable. You may encounter bugs, rough edges, or features that don't work exactly as expected. We take quality seriously and test everything before it ships, but we'd rather get useful tools into your hands quickly and improve them based on your feedback than wait for perfection.

Every piece of code goes through testing before it reaches you. We also use AI-powered security analysis tools that automatically scan our code for vulnerabilities as we write it — so AI helps us build, and also helps us build safely.

Why AI Matters for Civic Tech

Congressional data is public, but it isn't always accessible. Bills are written in legal language. Campaign finance records are buried in spreadsheets. Lobbying disclosures are scattered across databases. Understanding what your government is doing shouldn't require a law degree or a team of analysts.

AI helps us bridge that gap. It lets us summarize complex legislation, connect disparate data sources, and build search tools that understand what you're actually looking for. And it lets a small team punch well above its weight.

MyCapitol is a 501(c)(3) nonprofit. We don't have a large engineering team or venture capital funding. AI allows us to deliver a platform that would otherwise require resources far beyond what we have — and to keep it free for the advocates, researchers, journalists, and citizens who need it.

Let's Build This Together

We're building MyCapitol in the open because we believe civic tools should be shaped by the people who use them. Your feedback directly influences what we build next.

Found a bug? Something confusing? Have an idea for a feature that would help your advocacy work? We want to hear from you. This platform gets better every time someone tells us what's working and what isn't.