A multi-tenant digital services platform for municipalities in Gabon and Central Africa — built once, deployed for every commune.
Across Gabon and the wider region, the distance between a citizen and a simple certificate is measured in trips to the town hall, not in minutes.
Lost working days, repeat trips, no way to plan
Manual registers, duplicated effort, no prioritisation
Uncollected revenue and no evidence base for budgeting
Civitas is a complete digital front door for a municipality — and the administrative machine behind it. The same codebase serves every commune; only the configuration changes.
Services, news, procedures and local information in a single public site — mobile-first and searchable.
Citizens submit civil-status and permit requests online, then follow each step to collection.
Local taxes, fees and permits paid by card or mobile money, with an automatic receipt.
Configurable approval chains, assignment and status changes — with a full audit trail.
Email and SMS at every transition, in the commune's own wording.
Volumes, processing times, approval and collection rates — per service and per period.
Not a mock-up. This is the running application, built and served from the same repository we would deploy.
Every service the commune offers is described once, then drives the catalogue, the search, the request form and the reporting.
Service catalogue — grouped, filterable, each with its own requirements and fee
Procedures — what to bring, what it costs, how long it takes, and where the file is
Each of these sites is a separate production build from the same repository — with not a single line of component code changed between them.
Name, crest and colour palette · Photography · Navigation · Service catalogue · Procedures and fees · News · Statistics · Contact details · Local wording
Component code · Request and approval engine · Payment and reconciliation ledger · Notification system · Analytics · Security model · Accessibility work · Offline behaviour
A deliberately simple architecture: one application, one database per commune, one deployment command.
docker compose up, on the commune's own infrastructure or on ours.Performance here is not a vanity metric — it decides whether a resident on a 3G handset in a peripheral district can use the service at all. Every figure below is measured from the production build of this demo.
Pages are cached on first visit. Submissions made offline are queued on the device and sent automatically when the connection returns — with retry and backoff.
System fonts only and no third-party scripts. Nothing loads that the resident did not ask for.
Residents can add the portal to their home screen and open it like a native app — no app store, no download barrier.
The platform serves three distinct audiences from a single deployment.
Each phase closes on something demonstrable and independently useful. Nothing is held back for a big-bang launch.
The platform is priced so that a commune pays for the standard product once, and pays separately only for work that is genuinely specific to it.
Everything demonstrated in this deck. Delivered, configured and branded for the commune, with training and handover.
Anything outside the standard product is scoped and quoted on its own, at a published day rate — never bundled into the core price.
This is not a concept deck. The application in these screenshots exists, builds in about a second, and is running today across four municipal configurations.
Everything shown here is the running product. You can open it, click through it, and switch between communes before you commit to anything.
Low bandwidth, intermittent connectivity and entry-level Android handsets were the starting assumptions, not an afterthought at the end.
Data isolation per commune, audit trails on every state change, accessibility to WCAG 2.1 AA, and no dependency the client cannot take over.
Source code, infrastructure definitions, documentation and data transfer to the client. Every third-party component is open source or a standard commercial service on your own account.
We can configure a working instance for your municipality — your identity, your services, your data — and walk your team through it before any commitment.