Launch a country-specific government accountability tracker from a template
Track election promises with status, dated history, and sources
Visualize parliament activity with speech counts and topic radar charts
Run a Claude ingestion agent that opens PRs from official sources for human review
Needs Node 20.10 or newer plus an Anthropic API key for the agent and a GitHub token for the automated PRs.
civic-pulse is an open-source framework for tracking government accountability in any country. It lets a civic-tech team monitor election promises, parliamentary activity, and ministerial performance from one site. The repository ships only the framework, not real-world data. The README points to zotimi.com as the reference deployment that has tracked the Kosovo government since 2025, but that production dataset is kept in a separate private repo. A team that forks the project gets several built-in pieces. There is a promise tracker that categorizes commitments and labels each one Completed, In Progress, Delayed, or Pending, with dated history and sources. There is a parliament analytics view that counts speeches, words, and sessions per member and shows topic distribution as radar charts. There is also a government org chart that links ministries to the promises they own and scores their recent performance. Every route is prerendered to HTML for SEO, and the site can deploy to Cloudflare Pages, Vercel, Netlify, or any static host. The most distinctive piece is the ingestion agent. It is powered by Claude and reads a sources.yaml file that lists official government sites, parliament transcripts, and trusted news. It pulls in updates, extracts structured data with confidence scores, and opens a pull request for human review. Nothing is auto-merged. The agent can run on a cron schedule or be invoked as a subagent from Claude Code, and its extraction prompts live as reusable skills under .claude/skills/. The project defaults to English so contributors anywhere can read the demo, and supports locale files for additional languages. Currently shipped translations include English, Albanian, and German. To run a new country, a maintainer copies countries/example/ to a new code, fills in config and categories, lists the URLs to monitor, and runs the agent. Node 20.10 or newer is required, plus an Anthropic API key for the agent and a GitHub token for the automated PRs. The project is MIT-licensed.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.