- Home
- Technology
Technology
How we build: architecture, stack, security and what is actually live.
We build with a small, proven stack we operate every day. Nothing exotic; everything we can run, debug and hand over. 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.
Stack
Boring on purpose.
We choose tools we can operate at 3 a.m. and hand over without a training course.
- Next.js
- React
- TypeScript
- Progressive web apps
- Telegram Mini Apps
- React Native
- Node.js
- PostgreSQL
- Supabase
- REST APIs and webhooks
- Real-time services
- Telebirr
- CBE
- Agent cash networks
- Double-entry ledgers
- Reconciliation jobs
- Linux servers (Hetzner)
- Managed PostgreSQL
- TLS everywhere
- GitHub Actions CI/CD
- Monitoring and alerting
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.
Payment webhooks
HMAC-verified, idempotent, 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.
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.