Democracy Direct
Privacy-first civic engagement. ZIP code lookups happen client-side; emails are hashed before storage.
I built Democracy Direct because the experience of contacting your elected representatives is genuinely bad. Figuring out who represents you, finding their contact info, and actually reaching out to them involves bouncing between half a dozen government websites. The existing tools in this space are either paywalled, cluttered with donation asks, or abandoned.
I’m a software engineer. I can’t fix policy, but I can fix a bad user experience.
What It Does
Democracy Direct is a civic engagement platform for contacting your federal elected representatives. Enter your ZIP code and it tells you your 2 senators and 1 House representative. It’s federal level only, not state or local.
The app provides community-contributed letter templates that are searchable and forkable. You can copy a letter to your clipboard, print a formatted version, or pull up talking points for a phone call. Legislator profiles include contact info, social media links, and voting records. You can also search and track legislation.
Privacy First
ZIP code lookups happen entirely in your browser using pre-loaded data. We never see what you search. If you create an account (passwordless OTP authentication), your email gets hashed with SHA-256 before it’s stored. We can’t recover it even if we wanted to.
Tech Stack
It’s an Astro 5 app with SSR on Cloudflare Pages, using Preact for interactive islands and Tailwind v4 for styling. The backend is Neon serverless Postgres with Drizzle ORM. The template editor uses TipTap for rich text. Testing is Vitest and Playwright.
This is an active project.