RAG assistant answering questions about internet censorship and digital rights in East Africa (2022–2026), grounded in a curated corpus from OONI, Access Now, CIPESA, and Freedom House — every answer cites its sources. Built for DataTalksClub's LLM Zoomcamp 2026.
# Civil Liberties Knowledge Assistant
I built a citation-grounded RAG assistant to help researchers, journalists,
and civic-tech practitioners investigate internet censorship and digital
rights in East Africa (Kenya, Uganda, Tanzania, Ethiopia, Rwanda;
2022–2026). It retrieves and answers from a curated corpus of OONI, Access
Now, CIPESA, and Freedom House reports — every answer cites the specific
excerpt it draws from, and I made sure thin or single-sourced evidence gets
flagged rather than smoothed into a confident-sounding narrative.
Built for DataTalksClub's LLM Zoomcamp 2026 capstone project.
**Live demo:**
app
monitoring dashboard
***both on Google Cloud Run, `min-instances=0` — a quiet period means the
next request has a few seconds' cold start, not that the link is dead.***
## Contents
- Problem
- Demo
- Evaluation
- Testing
- Monitoring
- Quickstart
- Data and configuration
- Deployment
- Architecture
- Project structure
- Decisions and trade-offs
- CI/CD
- Limitations
## Problem
Reporting on internet censorship and digital rights in East Africa is
produced by several independent organizations — OONI publishes network
measurement data, Access Now tracks shutdowns, CIPESA covers regional
policy, Freedom House scores countries annually — each with its own
format, scope, and update cadence. A researcher or journalist trying to
answer a specific question (did this event actually involve app-level
blocking or a full shutdown? which organizations have corroborated a
claim, and which haven't?) currently has to manually cross-reference
several separate sites and PDF reports, with no single place to ask a
direct question and get a sourced answer.
That manual cross-referencing has a second, easy-to-miss failure mode
beyond being slow: it's easy to accidentally flatten disagreement or thin
evidence into a single confident-sounding narrative, because nothing
forces the reader to notice when only one organization covers an event, or
when two sources …