Lalabase
Tickets, Doku, Zeiterfassung und Kundengespräche an einem Ort, durchsuchbar per KI. Für Softwarefirmen mit Kundenprojekten. Open Source: auf deinem eigenen Server oder in unserer Cloud in Deutschland.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證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.