Introducing State Reps: PostcardsToCongress 2.0
April 22, 2026 Β· Developer update
When I built the first version of this site, the scope was intentional and narrow: your two U.S. Senators and your U.S. House Representative. Three people. One address lookup. Done in 60 seconds.
It worked. People used it. Postcards went out. But I kept seeing the same thing come up in feedback: "Can I send to my state rep too?"
At first I'd explain that state legislatures operate differently β 50 different bodies, 7,383 seats, no single federal directory to query. It felt like a scope problem that could swallow the whole project. So I kept deferring it.
Then I found the Open States API. And a few weeks later, state reps are live.
Why State Government Matters More Than You Think
Here's the uncomfortable truth about federal advocacy: most of the laws that directly affect your daily life aren't made in Washington.
Abortion access. Voting rights. Education funding. Police accountability. Medicaid expansion. Tenant protections. Gun laws. Minimum wage. All of these β and hundreds more β are primarily determined at the state level. Congress gets the cable news airtime. Your state legislature gets the actual legislative power over most of the things you're actually fighting about.
State legislators are also dramatically more reachable. A U.S. Senator represents millions of constituents. A state house member might represent 50,000. A single postcard carries proportionally more weight. These are people who sometimes answer their own phones. A physical postcard to a state capitol office is genuinely rare β and genuinely noticed.
We've been overlooking half the government. That changes now.
How It Works Under the Hood
The technical challenge was exactly what I expected: 50 different legislative bodies with inconsistent data, no standardized address format, and variable API coverage.
Geocodio + Open States, chained together, turned out to be the right answer.
When you enter your address, we already hit Geocodio to geocode it and pull your congressional district. Now we take those same latitude/longitude coordinates and send them to the Open States /people.geo endpoint, which returns your state house and senate representatives for that exact location. One address lookup. Two API calls. Federal and state results in the same response.
For name searches, we query Open States' /people endpoint filtered by jurisdiction and name. You pick your state from a dropdown, type the name, and we handle the rest.
The trickiest part was address normalization. State capitol office addresses in the Open States data range from clean multi-line records to single-line strings to completely absent entries. I wrote a parser that handles all three cases and falls back to hardcoded capitol building addresses (stored in app/lib/capitol-addresses.ts) for the 50 states, D.C., and Puerto Rico when the API data is incomplete or missing. A state rep postcard needs a real delivery address, and this fallback layer means we never leave that field blank.
What's New in the UI
The search form now has a Level toggle β Federal or State β that appears above the Find By selector. Switching to State changes the search behavior and unlocks a state dropdown for name searches.
When you search by address with State selected, we run both lookups simultaneously and return your federal and state legislators in the same results page. You can mix and match: add your Senator, your state Rep, and your state Senator to a single order. They all go out in the same batch, priced the same way.
State rep cards are printed and mailed exactly like federal ones β same 4Γ6 format, same USPS delivery, addressed to the representative's capitol office. The only visible difference is the title on the card: State Senator or State Representative instead of U.S. Senator or U.S. Representative.
A Few Known Limitations
The Open States project doesn't yet cover Guam, the U.S. Virgin Islands, American Samoa, or the Northern Mariana Islands. If you're in one of those territories and search for state reps, we'll show a "coming soon" notice rather than silently returning nothing. We're watching Open States' coverage roadmap and will enable those territories when the data is there.
Nebraska has a unicameral legislature β one chamber, not two β so you'll only see state senators there. That's correct; it's not a bug.
What's Next
The 2.0 launch covers legislators β state house and senate members. Governors aren't included yet. Governor contact addresses are straightforward to add, and it's on the list.
The bigger unlock that state coverage creates is campaign sharing. When someone builds a campaign at /m/[slug] and shares the link, that campaign will now carry state rep support too. A campaign about a state-level issue β Medicaid expansion in a particular state, say β can now reach exactly the legislators who actually control that outcome.
That's the point. Democracy happens at every level. The postcard should too.
Try It Now β On a State Issue
Medicaid work requirements are decided state by state. Each state sets its own eligibility rules (subject to federal waiver), which means your state legislators β not Congress β are the ones who determine whether low-income adults in your state must meet work criteria to keep their coverage. It's one of the most active debates in statehouses right now.
Pick your position below and send a postcard directly to your state reps. This is exactly what 2.0 was built for.
Make Your Voice Heard
Where do you stand on Medicaid work requirements?
Pick your position β your postcard goes straight to your representative's desk.
43 postcards sent on this issue
Most recipients already work or are caregivers. Bureaucratic requirements strip coverage from sick people, not idle ones.
Dear Representative,
Studies show Medicaid work requirements cost more to administer than they save, and cause sick people to lose coverage due to paperwork errors. Most adult reβ¦
Medicaid is a safety net, not a permanent benefit. Reasonable requirements encourage self-sufficiency and protect the program for those who truly need it.
Dear Representative,
Medicaid is a safety net, not a permanent benefit for able-bodied adults. Reasonable work or job-training requirements encourage self-sufficiency and preservβ¦
PostcardsToCongress.org is an independent, nonpartisan project. Built and maintained by one developer who believes physical mail is still the most underrated tool in civic life.