The Tree Grows a New Ring: Recomposing a Civic AI in Hours
On recomposing a multi-repo civic AI system between two rounds of a municipal election
Retrieval-Augmented Generation topics
View All TagsOn recomposing a multi-repo civic AI system between two rounds of a municipal election
How a WhatsApp message revealed a systemic bias we didn't intend — and why open source made the fix possible in hours
How a single email from a candidate revealed four distinct failures in four distinct layers — and why Separation of Concerns was the only way to fix them
Three near-zero-cost interventions that improved our civic RAG pipeline more than any model change could
How streaming, threads, and two small buttons turned a Q&A tool into a learning system
How 60 social media screenshots became a searchable civic memory in one afternoon
Between December 2025 and February 2026, we ran an experiment. We opened a participatory platform — audierne2026.fr — and invited the 3,600 inhabitants of Audierne-Esquibien to co-write a municipal programme. Anonymous forms, public discussions on GitHub, full traceability from submission to integration.
36 citizens contributed. That's roughly 1%.
"It looks impossible - but it's a hackathon. Cheers!"
This is the story of OCapistaine, a civic transparency AI built during the Encode "Commit to Change" Hackathon. It's a story of blocked pipelines, strategic pivots, 4,000 municipal PDFs, and the belief that AI can help citizens understand their local democracy.
Spoiler: We shipped it. Barely.

Sprint planning call between Johnny (@jnxmas) and Victor (@zcbtvag) to align on the Sunday midnight deadline. Key decision: pivot to Mistral Document AI + Batch + Agent for a rapid RAG prototype.
Quick catch-up between Johnny (@jnxmas) and Victor (@zcbtvag) covering Opik integration progress and OCR pipeline challenges.
Johnny showcased recent progress on Opik prompt optimization. A new architecture is in place where prompts are no longer hardcoded but managed via an Opik Prompt Library. The "Charter Validation" prompt has already been optimized using this system.
A new mock-up feature can automatically generate contributions (even with violations) from existing meeting reports. The goal is to create a robust dataset to test and improve the validation agent. However, this auto-generation currently produces repetitive content - a challenge that will need addressing by identifying and aggregating duplicate contributions.