An AI civic assistant for Nigerians that answers questions about your rights, grounded in real law, with sources you can open yourself.
For most people, the law is unreadable. Knowing your rights in Nigeria means either wading through statutes written for lawyers or trusting a stranger online who might be wrong. VeraCivic answers a plain-language question, like "can the police search my phone?" with a grounded answer drawn from the actual Constitution and Acts and a citation you can open and check yourself.
It's built as a LangGraph ReAct agent with six retrieval tools over a Qdrant vector store: an authoritative law corpus (Constitution and Acts) alongside a rolling news index refreshed every 15 minutes. The model's own memory is never treated as a source; every claim is grounded in retrieved evidence. Before an answer reaches a user it passes a faithfulness gate (claim extraction plus verification, with a ≥0.7 grounded-score threshold), backed by eval suites covering in-scope civic questions, out-of-corpus negatives, and adversarial red-team prompts, plus prompt-injection hardening that fences all untrusted web and news content as data.
The design has a spine: the safety and danger path, covering emergencies, abuse, and life-safety resources, is always free, unmetered, and never behind a login. I built and shipped the whole thing solo, with a freemium model in flight.
- LangGraph ReAct agent with 6 retrieval tools over a Qdrant vector store (FastEmbed/BGE embeddings); multi-provider by design, with Gemini 2.5 as default and Anthropic Claude swappable via config.
- Citation-grounded answer generation behind a faithfulness eval harness (claim extraction plus verification, ≥0.7 grounded-score gate); the model's memory is never a source.
- Prompt-injection hardening that fences all untrusted web and news content as data, with eval suites for in-scope questions, out-of-corpus negatives, and adversarial red-team prompts.
- Safety and danger path always free, unmetered, and never behind login; freemium billing (Paystack) in flight.
