AI-Powered Policy Comment Review Platform
VoxCivicAI makes government regulations accessible to everyone. It transforms dense policy documents into plain language, enables inline public commenting, and provides agencies with powerful analytics to process feedback at scale.
Automatically converts complex regulatory language into clear, accessible text using fine-tuned LLMs. Side-by-side comparison with readability scoring ensures quality.
Attach comments directly to specific passages in policy documents. See existing feedback in context and engage in targeted discussions.
Identifies duplicate submissions, computer-generated comments, and suspicious patterns. Integrates reCAPTCHA and supports misattribution reporting.
AI-generated summaries and topic clustering using semantic embeddings and hierarchical topic modeling (hLDA). Quickly surface major themes from thousands of comments.
Real-time insights: total comments, duplicates, sentiment analysis, topic distribution, time-series trends, and top keywords. Slice by commenter type or topic.
Visualize reader engagement and comment density. Identify confusing or contentious sections at a glance.
Human-in-the-loop review, model confidence transparency, and analyst feedback loops for corrections.
- Python 3.11+ with FastAPI
- LangGraph for AI agent orchestration
- OpenAI GPT-4o for translation and summarization
- ChromaDB for vector similarity search
- SQLite (dev) / PostgreSQL (prod)
- React 18 with TypeScript
- Vite build tooling
- Tailwind CSS + shadcn/ui components
- TanStack Query for data fetching
- Recharts for visualizations
- Node.js 18+
- Python 3.11+
- Docker (optional)
cd frontend
npm install
npm run devcd backend
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
uvicorn main:app --reloadCopy .env.example to .env and configure:
OPENAI_API_KEY=your_key_here
DATABASE_URL=sqlite:///./voxcivicai.db
A local Ollama instance can be used for development:
- Base URL:
http://localhost:11434 - Models:
qwen2.5:7b(chat),nomic-embed-text(embeddings)
- Python: PEP 8, Black formatter, Ruff linting, Google-style docstrings
- TypeScript: ESLint + Prettier, strict mode, functional components
# Backend
cd backend && pytest
# Frontend
cd frontend && npm testvoxcivicai/
├── frontend/ # React TypeScript app
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── hooks/
│ │ └── api/
│ └── package.json
├── backend/ # FastAPI Python app
│ ├── agents/ # LangGraph AI agents
│ ├── api/ # API routes
│ ├── models/ # Pydantic models
│ └── services/ # Business logic
└── docs/ # Documentation
MIT
Contributions welcome! Please read our contributing guidelines and submit PRs against the main branch.