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. 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. 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. 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. 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. 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. 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. 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. 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. 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.