Javis OS
Javis OS는 기업가를 돕는 에이전시 AI로, 업무를 지원하고 함께 성장합니다
정책 팀을 위한 오픈형 자체 호스팅 의안 추적 서비스 AI 요약 투표 댓글 이메일 요약 청문 일정 제공 월 5‑7
Open, self-hostable bill tracking for policy teams: AI summaries, member voting, comments, email digests, and hearing calendars for about $5-7 per month.
비즈니스TypeScript · SCSSGitHub @floorvote온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기Self-hosted legislative tracker for teams.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Legislative tracking for teams.
FloorVote is an open, self-hostable bill tracker for any team that tracks legislation—automatic bill summaries, member voting, email notifications, and hearing calendars, all for about $5-7/month in infrastructure.
FloorVote monitors state and federal legislation and surfaces the bills that matter to your team—filtered by your keywords and summarized and tagged by AI according to your instructions. Your team can comment and vote on the bills, and your team can set an official position.README 전문 보기 ↗FloorVote is an open, self-hostable bill tracker for any team that tracks legislation—automatic bill summaries, member voting, email notifications, and hearing calendars, all for about $5-7/month in infrastructure.
FloorVote monitors state and federal legislation and surfaces the bills that matter to your team—filtered by your keywords and summarized and tagged by AI according to your instructions. Your team can comment and vote on the bills, and your team can set an official position.
FloorVote can be used by individuals or teams, but it's especially powerful for teams, whether big or small. Instead of everyone on a team monitoring bills on their own and comparing notes over email or in meetings, FloorVote gives the whole team one shared place to watch, discuss, and respond to the bills that matter to them.
Each team gets a private, isolated deployment with its own database, member roster, bill list, activity feed, and calendar.
See the demo site · Docs · Get started · Security · Contributing
Development supported by the Bipartisan Policy Center.
| Bills | Keyword filtering · AI summaries, tags, and relevance scores · full text, fiscal notes, and amendments · triage for new matches · search across title, summary, and abstract · filtering by tag and priority · custom fields |
| Team | Support/oppose/neutral voting · comments with reactions and @-mentions · personal notes · priority flags · official team positions |
| Roles | Owner, admin, and member · custom roles for committee assignments · per-member voting restrictions |
| Calendar | Auto-added hearings · custom events · subscribe from any calendar app over ICS · spreadsheet import |
| Magic-link sign-in · daily or weekly digests · week-ahead hearing preview · new-match and mention alerts | |
| Admin | Configurable AI context, relevance question, and tag taxonomy · toggleable feature modules · bulk member invites · data export |
Each of these is explained in full on the docs site: What can FloorVote do?
| Backend | Hono on Cloudflare Workers—tenant API, central API |
| Database | Cloudflare D1 (SQLite via Drizzle ORM)—separate databases for central and each tenant |
| Storage | Cloudflare R2—bill text, stored centrally |
| Queues | Cloudflare Queues—central ingestor, per-tenant bill delivery |
| Frontend | React 19 + React Router 7 + Vite 8, served via Workers Assets |
| Cloudflare Email Service, with Resend available as a fallback | |
| AI | Google Gemini 2.5 Flash via Cloudflare AI Gateway. Chosen for its affordability, accuracy, and ability to handle long PDFs, which is how many bills arrive. The default lives in api/src/lib/llm.ts, and the GEMINI_MODEL and GEMINI_THINKING_BUDGET vars override it per environment. |
| Legislative data | LegiScan |
| Testing | Vitest with @cloudflare/vitest-pool-workers; Vitest + jsdom for the frontend |
flowchart TB
API["LegiScan API"] -->|hourly cron| C
subgraph C ["Central service — one per operator"]
CW["Worker + D1 + R2 + Queues"]
end
C -->|per-tenant queue| TA["Tenant A — Worker + D1 + Queue"]
C -->|per-tenant queue| TB["Tenant B — Worker + D1 + Queue"]
Central — one per operator. It makes every legislative API call and stores all bill text, so provider traffic, caching, and quota all sit in one place however many teams you run. It does no AI processing.
Tenants — one per team. Each runs the AI pass (summary, tags, relevance score) using its own configured context and taxonomy, keeps its own D1 database, serves the React app via Workers Assets, and never calls LegiScan directly. Because relevance is scored per team, the same bill can score very differently for two teams.
Tenant and central talk to each other over Cloudflare service bindings in both directions, with no shared secret in transit.
For the full data flow—cron passes, the ingestor, deduplication, and queue boundaries—see Architecture on the docs site.
FloorVote is created and maintained by Will Adler of the Bipartisan Policy Center Elections Project.
Contributions (including data providers for DC, Maryland, and Virginia) from Joshua Miller of Open City Advocates.
Architecture and security have been reviewed and strengthened through a volunteer engagement with U.S. Digital Response (volunteer: Larry Hitchon).
FloorVote was developed using Claude Code, the superpowers plugin, and mattpocock/skills.
FloorVote is open source under AGPL-3.0. Contributions are accepted under the Developer Certificate of Origin — sign your commits with git commit -s. If you run a modified version as a network service, the AGPL requires you to offer your users the corresponding source.