CIVIC Residency 2025 · Naivasha, Kenya
Product Lead & UX Full-Stack Developer

I bridge government,
community, and code

NairobiTalks is a civic tech platform I conceived, designed, and shipped during a 1.1.5-day co-design sprint in Naivasha — bringing citizens, government officials, civil society, and engineers into the same room to solve a problem none of them could fix alone.

SprintDecember 2025 · 1.5 days
LocationNaivasha, Kenya
PartnersWorld Bank · Nairobi County Government
StackRails 8.1 · OpenAI · PostgreSQL
The context

Kenya mandates participation. Barely anyone participates.

Kenya's constitution requires every county to produce a County Integrated Development Plan with meaningful public participation. In Nairobi, that mandate is functionally failing. Forums are poorly attended, feedback disappears into bureaucracy, and planning remains opaque to the 4.5 million residents it's meant to serve.

0.07%Actual participation rate in county planning
33%Citizens who ever get feedback on their input
3 yrsAverage wait to see a proposed project materialise
My approach

Get everyone in the room. Then build.

The residency brought four stakeholder groups together physically for 1.5 days: citizens, county officials, civil society, and technology teams. My job as Product Lead was to turn that room into a product — to facilitate discovery, hold competing needs in tension, and ship something real by end of the sprint.

The most important realisation came early: this isn't a technology problem. It's a trust problem, a systems problem, and a participation design problem. Code is only useful here if it closes the loop between submitting an idea and seeing it become reality.

"Feedback should not depend on goodwill — it should be built on a system that works irrespective of who is in office."

— Workshop output, CIVIC Residency 2025
Why co-design matters

The product decisions made in that room were only possible because all four groups were physically present. Multi-stakeholder co-design isn't a methodology preference — it's the only way to build something government will actually adopt and citizens will actually trust.

Global alignment

Built for global goals, grounded in local reality

16
Peace, Justice & Strong Institutions
Transparent citizen engagement, participatory governance, and accountability in local government.
11
Sustainable Cities & Communities
Empowering residents to shape more inclusive, resilient urban development in Nairobi.
What the workshop revealed

The funnel collapses at every handoff

Baseline analysis across 8 Nairobi departments told the same story at each layer. Input enters. Accountability never returns.

79%
Received prior information
67%
Gave views at forums
33%
Got feedback on their input
26%
Saw the final report
From citizens

What residents told us directly

Budget opacity

No visibility into how much is available or how ideas get costed. The planning envelope is invisible to citizens.

No feedback loop

The single most consistent frustration: submitting ideas and never hearing back. People stop trying after one or two attempts.

Fear of retribution

Citizens reluctant to submit ideas publicly — particularly on sensitive local issues or when challenging officials.

Digital exclusion

Android storage issues, device compatibility gaps, and low-bandwidth environments locking people out before they start.

Inaccessible documents

ADP formats written for planners, not residents. Planning language is itself a barrier to meaningful participation.

Last-minute information

Planning information released with no lead time. Citizens can't engage meaningfully under those conditions.

"Engagement with County is one-way traffic... County Government provides no responses."

— KARA Representative, Nairobi City County Baseline 2025
From government

County officials face structural constraints too

No visibility on submissions

Poor traceability of submitted ideas across departments. No shared system, no shared reference number.

Political misalignment

Decisions not aligned to development plans. Budget allocations shift based on patronage, not community input.

Expectations without delivery

Too much outreach, too little follow-through. Citizen cynicism grows faster when promises aren't kept.

Data ownership gaps

Unclear which government levels can access what. No formal data-sharing agreements across departments.

Where input gets lost

The planning hierarchy mapped in the workshop

Public input enters at ward level — but the path from ward forum to CIDP to ADP is completely opaque, and feedback never flows back down the chain.

1

Ward Forums

Citizens submit ideas at ward level. High attendance when well-promoted — but no guarantee input travels further.

2

Sub-County Collation

Ward inputs feed into sub-county units. This stage receives the fewest inputs and has the least public visibility of all.

3

Sector Economic Planning

Collated inputs feed 10 sector plans. Internal sector budgets are never shared publicly — the envelope is invisible.

4

CIDP → ADP

Sector plans feed the CIDP and Annual Development Plan. Validation before finalisation is inconsistent. Citizens never see this stage.

The product

A two-sided civic platform — shipped in 1.5 days

NairobiTalks has two faces: a resident-facing experience built around radical simplicity, and an admin dashboard that gives county officials a structured, data-driven view of citizen input — for the first time.

Core design principle

Simplicity is a civic responsibility. Every layer of complexity in a public participation tool is a barrier to inclusion — particularly for low-literacy users and those on low-end Android devices in Nairobi's low-income settlements.

The citizen experience

Swipe to participate. No forms. No jargon.

The core interaction is a swipe-based card interface — deliberately modelled on familiar consumer patterns — where residents see ideas others have submitted for their ward. The swipe mechanic was a deliberate accessibility choice, not a design gimmick. It also generates rich prioritisation data immediately useful to planners.

Citizen features
Swipe or tap to upvote/downvote community ideas
Submit original ideas in free text or voice
Filter ideas by area, issue category, or demographic
Track whether a submitted idea has been acknowledged
Comment on ideas and participate in discussions
View idea details and community engagement in real time
The AI layer

A chatbot that explains government in plain language

A separate AI chat interface built on the OpenAI API makes the planning system legible to ordinary residents. Not everyone knows what a CIDP is. Now they can just ask.

Planning literacy

Explains what the CIDP and ADP are in plain language — without a lawyer or planner in the room.

Budget navigation

Helps residents understand the current budget cycle and how to participate meaningfully.

Guided submission

Walks users through submitting a structured idea or petition — step by step, in accessible language.

Historical context

Answers questions about previous projects and outcomes — building institutional memory that currently doesn't exist.

The admin side

Giving government a data-driven view of its citizens

The dashboard gives county officials something that didn't previously exist: a structured, filterable view of citizen input — by ward, sector, issue, and demographic group — with a direct path to close the feedback loop.

Administrator features
See which ideas are gaining traction across wards
Flag items for inclusion in the next ADP cycle
Send acknowledgment back to citizens — closing the loop
Schedule, moderate, and analyse civic forums
Broadcast centre for public announcements
Bulk actions: approve, reject, or flag submissions
Analytics and charts for platform activity over time
Filter by status, type, date, and department
Technology

Built to be owned — not just delivered

The stack was chosen for convention, speed, and county team maintainability. Open source under MIT. Designed from day one to be handed over to county ownership without external dependency.

Backend
Ruby on Rails 8.1.1
Frontend
Bootstrap 5 · Hotwire · Stimulus
Database
PostgreSQL (prod) · SQLite (dev)
Auth
Devise
Files
Active Storage
AI
OpenAI API
Deployment
Kamal-ready
License
MIT Open Source

WCAG 2.1 Compliant

NairobiTalks is committed to accessibility for all users regardless of race, ethnicity, gender, age, religion, disability, or sexual orientation. Follows WCAG 2.1 guidelines, regularly tested with people of diverse backgrounds and abilities.

Honest reflection

One thing I'd do differently

Lesson learned

The hardest part wasn't the build — it was ensuring stakeholders understood the value of what we'd created and left with clear next steps and genuine buy-in. A working prototype means nothing if the people who need to champion it walk away uncertain about what happens next. Closing a sprint with explicit commitment, not just applause, is now something I design for deliberately.

Architecture evolution

The prototype proved the concept.
Now I'm rethinking the foundation.

My recent exposure to OpenFn and Liquio.tech has changed how I think about what NairobiTalks should become. Rails got us to a working prototype in 1.5 days — and I'd make that same call again. The question isn't the framework. The same ceiling applies whether you build this in Rails, React, Django, or anything else. The moment you need multi-department workflow automation, omnichannel government reach, and participatory budgeting at county scale, a single-framework application hits its limits — and purpose-built GovTech infrastructure takes over.

The shift in thinking

From "build the feature" to "connect the systems"

Any single-framework app serves one county well. Open, interoperable infrastructure serves every county — and every country. That's the difference between a project and a platform. The framework is not the constraint. The architecture is.

Any monolith, any framework
Custom routing logic per department
Hard-coded notification flows
No USSD / SMS omnichannel
Budget tracking is manual
Replication needs a new build each time
OpenFn + Liquio.tech
Visual workflow builder, no code per dept
SMS / WhatsApp / email automated
USSD adaptor built-in
Participatory budgeting with audit trail
County-agnostic, replicable by design
OpenFn

Workflow automation for government — without custom code

OpenFn is a certified Digital Public Good already deployed in government contexts across Africa. For NairobiTalks, it would replace all the custom routing, SLA escalation, and notification logic I currently write and maintain by hand — making the platform far easier for county IT teams to own and extend.

Department routing

Visual workflow builder routes submissions to the right department — no code changes when org structures change.

SLA automation

Automatic escalation when deadlines slip — removing individual officer dependency from the accountability chain.

Omnichannel reach

SMS, WhatsApp, and email triggered automatically — every citizen reached on their own channel.

System interoperability

Connects NairobiTalks to existing county CRM, GIS, and case tracking systems without bespoke integration work.

Liquio.tech

Participatory budgeting with a structural corruption defence

The political economy analysis identified budget manipulation as a core failure mode — CCOs pressured to shift allocations, CECMs changing budgets without consultation. Liquio.tech addresses this structurally by creating a publicly auditable trail from proposal through to allocation — not dependent on anyone's goodwill.

Ward-level budget voting

Citizens vote on priorities — publicly, on record, resistant to behind-the-scenes reallocation.

Immutable audit trail

Every allocation decision is recorded. Survives elections, officer turnover, and political pressure.

Why this matters

Smart Nairobi procured a CRM that was never integrated. The ERP is mid-court-case after Kshs 150M of 840M was paid. Technology alone doesn't fix trust. But architecture that removes the opportunity for manipulation is a meaningfully different proposition.

The full feedback cycle

Six stages — tracked, public, connected

Click any stage to see what it looks like with OpenFn and Liquio.tech in the stack.

Roadmap

The prototype is real. Now comes scale.

1

Merge AI chatbot into the main platform

Built separately during the sprint. Integrating it into the main Rails app is the immediate technical priority.

2

Usability testing across Nairobi wards

Specific focus on low-literacy and low-bandwidth users — the people most excluded by current participation systems.

3

OpenFn integration

Replace custom routing and notification logic with OpenFn workflows. Reduce maintenance overhead. Increase county IT ownership.

4

Liquio.tech — participatory budgeting

Add the budget voting and audit trail layer. Directly addresses the manipulation dynamics identified in the political economy analysis.

5

Formal CIDP data-sharing agreement

Establish institutional integration with Nairobi County Government to connect NairobiTalks to the official planning cycle.

6

Replication to other Kenyan counties

The architecture is county-agnostic by design. Apply for Google AI Impact Grant to fund scale-out.

What technology cannot do alone

The conditions for this to actually work

Political will at the top

Smart Nairobi procured tools that were never used. Commitment needs to sit at the CECM level, not just with a project champion.

Honest broker facilitation

Civil society must play a non-partisan bridging role — connecting county government and citizens without political capture on either side.

Non-political branding

No ribbon cutting. No campaign association. The platform must belong to the institution and survive the next election cycle.

Local ownership from day one

County IT and the Citizen Engagement Office as co-designers, not recipients. Handover planning starts before launch — not after.

"Built at the intersection of civic participation, AI, and human-centred design."

— NairobiTalks · December 2025 · Naivasha, Kenya · World Bank & Nairobi County Government