시민 참여 플랫폼을 만들었습니다—대표자에게 연락하는 것이 이렇게 어려워서는 안 됩니다
Source: Dev.to

몇 주 전, 나는 doom‑scrolling을 하면서 세상의 상태에 무차별적으로 손을 흔들었다 같은 느낌이 들었다. 이런 시기에 나를 항상 힘들게 하는 건 뭔가에 대해 내가 할 수 있는 것이 없다는 느낌이다.
그래서 내가 실제로 할 수 있는 것이 무엇인지 곰곰이 생각해 보았다. 수년간 나를 괴롭혀 온 문제에 도달했다: 선출된 대표에게 연락하는 것이 터무니없이 어렵다. 누가 나를 대표하는지 알아내기 위해 여러 정부 웹사이트를 뒤져야 하고, 오래된 디렉터리에서 연락처 정보를 찾아야 하며, 그리고 나서 빈 텍스트 박스를 바라보며 무엇을 말해야 할지 고민한다. 이 정도의 마찰 때문에 대부분의 사람들은 그냥… 하지 않는다.
나는 거의 10 년 차 웹 개발 경험을 가진 소프트웨어 엔지니어다. 정책을 바꿀 수는 없지만 나쁜 사용자 경험은 고칠 수 있다. 그래서 나는 Democracy Direct를 만들었다.
현재 기능
우편 번호를 입력하면 두 명의 상원 의원과 하원의원을 확인할 수 있으며, 그들의 연락처 정보와 소셜 미디어 링크가 표시됩니다. 매번 찾아볼 필요가 없도록 구역을 저장할 수도 있습니다.
제가 가장 기대하는 기능은 letter templates(편지 템플릿)입니다. 누군가가 의료, 주거 또는 기타 이슈에 관한 좋은 편지를 작성하면, 다른 사람들이 이를 가져가 맞춤화하고 보낼 수 있습니다. 한 사람의 노력이 많은 사람들을 위한 도구가 됩니다. 템플릿은 공개 또는 비공개로 설정할 수 있으며, 짧은 설명을 포함해 검색 결과와 소셜 공유에서 잘 보이도록 합니다. 템플릿을 탐색하거나 사용하기 위해 계정이 필요하지 않습니다. 여러분의 메시지는 서버에 전송되지 않으며, 모든 내용은 기기 내에 그대로 유지됩니다.
다가오는 내용
다음은 투표 기록 및 법안 추적입니다. 여러분이 대표들의 실제 투표 내역을 확인하고, 법안을 검색하며, 쉬운 언어 요약을 읽고, 편지 템플릿을 특정 법안에 직접 연결할 수 있기를 바랍니다. 그 다음에는 캠페인 재정 데이터와 인터랙티브한 지역 지도입니다. 장기적으로는 연방 수준을 넘어 주 입법자와 지방 공무원까지 확대하는 것이 목표입니다.
로드맵은 공개되어 있습니다:
프라이버시 우선
이것은 처음부터 협상할 수 없는 조건이었습니다. ZIP 코드 조회는 미리 로드된 데이터를 사용해 전적으로 브라우저에서 이루어지며, 우리가 검색 내용을 볼 수 없습니다. 계정을 만들 경우, 이메일은 SHA‑256으로 해시된 뒤 저장되므로 원한다 하더라도 복구할 수 없습니다. 여러분이 작성한 편지는 서버에 전혀 전달되지 않습니다. 분석은 PostHog를 통해 익명으로 수행되며 세션 녹화가 없고 사용 데이터를 여러분에게 연결할 방법도 없습니다.
Cloudflare Turnstile는 봇이 템플릿 시스템을 스팸하는 것을 방지하고, 저는 AI 중재를 사용해 콘텐츠 검토를 돕고 있습니다. 따라서 한 사람이 중재 작업에 압도되지 않고도 이 서비스를 운영할 수 있습니다.
스택
빠르게 움직이고, 빠르게 로드되는 무언가를 배포하며 Cloudflare Pages에 배포하고 싶었습니다. 그래서 Astro와 React, TypeScript를 선택했는데, 이는 AI 코딩 에이전트와 작업하기에 가장 적합한 조합이기도 합니다. 저는 이 프로젝트의 대부분을 Claude Code를 사용해 구축했으며, 프로젝트 전반에 걸쳐 Ralph loops를 다양한 성공률로 실험했습니다. 잘 작동할 때는 절대 잠들지 않는 주니어 개발자를 둔 것과 같고, 그렇지 않을 때는 정말 창의적인 난장판을 정리하는 일이 됩니다.
데이터베이스는 Neon PostgreSQL—온‑디맨드 컴퓨팅, PR당 쉬운 브랜칭 및 복제, 그리고 관대한 무료 티어를 제공합니다. 인증은 AWS SES를 통한 OTP 코드 방식이며, 비밀번호를 관리하거나 잊어버릴 필요도, 크리덴셜 스터핑에 대한 걱정도 없습니다.
대표 데이터는 공개 소스에서 가져옵니다: 연방 관리를 위한 unitedstates/congress‑legislators, 주 입법자를 위한 Open States, 그리고 ZIP 코드 매핑을 위한 미국 인구조사국 데이터.
공개적으로 빌드하기
전체가 AGPL 라이선스로 오픈소스입니다. 시민 인프라는 감시 가능하고 포크할 수 있어야 하기 때문이죠. 광고도 없고, 스폰서도 없으며, 프리미엄 티어도 없고, 데이터 판매도 없습니다. 기부로 자금을 마련합니다. 이런 방식에 관심이 있다면요.
Democracy Direct는 독립적입니다—정당도, PAC도, 비영리 단체도 없습니다. 단지 절망 스크롤 대신 뭔가를 만들기로 결심한 좌절한 엔지니어일 뿐입니다.
코드는 여기 있습니다 . 기여를 환영합니다. 코드, 템플릿, 버그 리포트 등 어떤 형태든 좋습니다. 여러분에게 유용하다면, 사용할 사람에게 공유하세요. 핵심은 사람들이 더 쉽게 목소리를 낼 수 있게 하는 것입니다.