How it works
Two journeys.
One platform.
Citizens apply, pay, and track from one secure account. Civil servants process from one shared workbench. Every mutation joins a tamper-evident audit chain.
For citizens
From sign-up to issued document.
- 1
Verify your identity, once
Sign up with email + password (optional 2FA). Enter your National ID Number — we verify against the national register through our internal exchange layer and pre-fill your profile. From now on, every service reuses this verification.
- 2
Apply for any service
Browse the catalogue, pick a service, and complete a guided multi-step form. Required documents are uploaded inline. The form is driven by the service's configuration — new services are content, not code.
- 3
Pay through one unified flow
Choose MTN MoMo, Airtel Money, PesaPal, or Card. Idempotency keys mean a network retry never charges you twice. The receipt PDF lands in your wallet immediately.
- 4
Track in real time
Every officer decision pushes to your tracker over WebSocket. You also get an in-app notification and a (mocked, for the prototype) SMS at each status change.
- 5
Download from your wallet
Issued certificates, permits, and receipts land in your wallet automatically. Each carries a printed serial + verification code anyone can confirm at our public verifier endpoint.
For government
One workbench, every MDA.
- 1
Your queue, scoped to your MDA
Officers and MDA admins only ever see their own ministry's applications. The scope is enforced server-side on every endpoint — no client-side filtering, no cross-MDA leaks (an unknown app returns 404, not 403, so existence isn't even revealed).
- 2
Review and decide
Open an application, read the submission, leave officer notes, and pick an action. The state-machine in the API enforces which actions are valid from the current status — illegal transitions return 409 INVALID_TRANSITION.
- 3
Issue is automatic
When you mark an application 'issued', the matching document PDF is minted on the citizen's wallet and a notification fires — no separate issuance step. Payment receipts mint on every paid Payment.
- 4
Reconciliation, scoped
MDA admins see their own revenue totals by channel; super admins see platform-wide M&E with the same UI. CSV / Excel export comes free.
Under the hood
One Go API. Three Next.js apps. Sovereign.
apps/api
Go (Gin + GORM). Every business rule, the exchange layer, payments, PDF, audit. The single backend.
apps/portal
Next.js for citizens. Verify, browse, apply, pay, track, wallet.
apps/admin
Next.js for officers, MDA admins, super admins. Workbench + dashboards + audit integrity.
apps/web
Next.js marketing site (this page). SSR, on-brand, hand-off CTAs to the portal.
Future channels — a desktop app for civil servants, a mobile app for citizens — are additive clients on the same API and shared type contract. No rewrites.