GIRA is the operating system for Uganda's local government. Cases, revenue and letters move on a single loop — reported on a Nokia, routed to the right officer, closed only when the citizen verifies the fix.
The Local Governments Act gives 146 districts, 2,200 sub-counties and 70,000 villages responsibility for services, revenue and financial accountability. The MIS literature still describes the operating layer as printed, phoned and manually reconciled.
GIRA does not replace the district. It gives every tier the same record — from an LC1 logging a broken borehole on a feature phone to a CAO exporting LGMSD-ready evidence — and closes cases only when the citizen verifies the fix.
One backend, five channels, one case ID. A borehole reported on USSD is the same record a CAO exports for LGMSD assessment three months later.
The backbone. Runs on a Nokia 105. No data, no smartphone, no literacy in English required.
Luganda, English, Runyakitara, Luo, Ateso. Automated triage for elders and low-literacy callers.
Fallback confirmations, SLA nudges, receipt hashes and citizen verification prompts.
Rich intake for smartphones. Photo evidence, geolocation, threaded case comments.
The district operations room. Live queue, revenue reconciliation, LGMSD evidence exports.
A case is never closed by an officer alone. The citizen confirms, or the audit samples. Closure that is not verified does not count.
Citizen dials *165*8#, gets a case ID in under 60 seconds.
Rules engine maps category × village to the responsible officer.
Officer works the case, attaches photo, GPS, notes, timestamp.
Citizen confirms via USSD prompt, or random audit samples the case.
Revenue settles against MTN/Airtel Money and the district ledger daily.
An LC1 sees their village. A parish chief sees eight villages. A CAO sees the district. The record does not change — only the view does.
Log incidents · approve letters · mobilise households
Triage escalations · PDM SACCO status · village supervision
SLA enforcement · revenue reconciliation · sector alerts
Command dashboard · audit · LGMSD assessment · partner reporting
Market dues, trading licences, property rates, parking and service fees settle against MTN Money, Airtel Money and the district bank account. Officers, zones and payment points that drift from expected collection are flagged before the week closes.
| Category | Expected | Collected | Δ |
|---|---|---|---|
| Trading licences | 12,500,000 | 12,100,000 | −400,000 |
| Market dues | 8,200,000 | 8,450,000 | +250,000 |
| Property rates | 22,200,000 | 21,000,000 | −1,200,000 |
| Parking & boda stages | 4,800,000 | 4,620,000 | −180,000 |
| Service fees & permits | 3,600,000 | 3,710,000 | +110,000 |
| Total | UGX 51,300,000 | UGX 49,880,000 | UGX 1,420,000 |
Governance, baseline, configuration
Channels live, officer training, soft launch
Cases, revenue, verification working
LGMSD export, KPI review, go/no-go
Base-case pilot district, mid-sized. Assumes UGX 50M monthly own-source revenue, 25% baseline leakage, 15% digital collection uplift, 10% staff-time savings.
One district must prove routing, verified closure and reconciliation before another is switched on.
Officer-only closure is an audit event, not a KPI. Random audits sample every category weekly.
Location is triangulated from user selection, officer validation and channel metadata — never assumed.
Each district configures its own service taxonomy. If a menu doesn't map to real officers, it isn't shipped.
We are onboarding two district partners for the next pilot cohort. Sponsor a district, co-fund a channel, or request the full PRD and pilot brief.