- Home
- Technology
Technology
How we build: architecture, platform choices, security and what is actually live.
We build on a small set of mature, widely used technologies that we operate every day. Nothing exotic: every system we deliver can be run, supported and handed over without depending on us. This page is for the technical reader who wants to know whether we know what we are doing. Business readers may prefer how we work.
Architecture
The reference shape of a GeezSoft system.
Every system we build — an institutional registry, a business platform, a gaming product — is a variation of this: thin clients, one API, a system of record with an audit trail, verified integrations for anything that moves money or data, and a back office from day one.
What we build with
Boring on purpose.
We choose mature, widely used technology we can operate at 3 a.m. and hand over without a training course. We pick the tools after we understand your workflow, not before, and we describe them here in terms of what they do for you.
Fast, accessible interfaces that work on entry-level phones and slow networks.
- Web applications that install like an app, with no app store
- Mobile apps for Android and iPhone
- Experiences inside the messaging apps people already use, nothing to download
- Back-office, approval and reporting screens
- Multilingual interfaces, including Ethiopian languages
- Designed for slow networks and entry-level devices
One reliable system of record for each organization, with an audit trail on every change.
- A single source of truth for records, cases and transactions
- Full history of who changed what, and when
- Documented interfaces for other systems to connect to
- Verified, repeat-safe connections to external services
- Real-time updates where the work needs them
- Reporting, search and exports built in
Payments confirmed automatically, with ledgers that always balance.
- Mobile money and bank payment integration, in production
- Agent cash-in and cash-out networks
- Double-entry ledgers: balances are derived, never edited
- Reconciliation against the provider’s own records
- SMS, identity and data-feed integrations
- Every transaction traceable with a receipt
Hosting in accounts you control, deployed automatically, monitored with alerts.
- Cloud or in-country hosting in accounts you own
- Managed databases with encrypted storage and backups
- Encrypted connections on every page and service
- Automated, repeatable deployments
- Monitoring, alerting and incident handling
- Runbooks and documentation for handover
Engineering principles
Five rules we do not break.
System of record first
Data — and especially money — is modelled so every change is a line with a before-and-after state. Balances and totals are derived, never edited.
Idempotent by default
Every webhook and payment callback can be delivered twice without double-posting anything.
Admin from day one
A system without a back office is not finished. Roles, approvals, audit trails and reporting ship with the first version.
Built for the slow path
Small bundles, no heavy client frameworks where a page will do, and interfaces that work on entry-level Android in daylight.
Ownership
Client code lives in the client's repository and runs in the client's accounts. We hand over the keys on day one.
Security & infrastructure
Security as a property you can check, not a badge.
We keep the security page honest: what is live, what is designed, and one mistake we made and fixed. Clients bringing their own reviewers are welcome.
In transit
TLS on every page and every service we run, with no exceptions.
At rest
Managed-database encryption at rest; per-tenant keys where multi-tenant isolation is required.
Secrets
Tokens and payment credentials never ship to the client or the repository. We learned this the hard way and say so on the [security page](/security.html).
Payment callbacks
Signature-verified, repeat-safe, and reconciled against the provider’s own records.
Access
Role-based access in every back office, with per-action audit logs.
Platform status
What is live, what is being built, what is planned.
We would rather show you the real state of things than a feature list that does not exist yet.
Ownership & handover
Your code, your cloud, your keys.
- Client code lives in the client's Git repository from the first commit.
- Infrastructure runs in accounts the client owns; we are added as operators, not the other way round.
- Handover includes runbooks, environment documentation and a recorded walkthrough.
- For platforms hosted on our infrastructure, your data is exportable at any time and source-code escrow is available on enterprise terms.
- Engineering questions go to engineering@geezsoft.org.
- Support requests from existing clients go to customer-support@geezsoft.org.
Start a conversation
Talk to an engineer, not a salesperson.
Send a brief or email engineering directly. We are happy to get into architecture before anyone talks about price.