Identity & tenancy
Every platformUsers, organisations, tenants, roles and scoped permissions. Multi-tenancy is modelled at the data layer, not filtered in the application — the difference between isolation and hope.
Engineering core
A payments platform and a school platform share almost nothing on the surface. Underneath, they need the same eight capabilities — and we would rather build those eight extremely well once than adequately eight times.
01 / The core
A new platform does not start at zero. It starts with identity, audit, money, workflow, communications, integration, real-time and reporting already solved — which is why the specialised part can get the attention it deserves.
Users, organisations, tenants, roles and scoped permissions. Multi-tenancy is modelled at the data layer, not filtered in the application — the difference between isolation and hope.
Immutable history for every state change, decision records that store the inputs that produced them, and document storage bound to the record it proves. Written for the day someone asks.
Ledgers with derived balances, fee and limit engines, multi-currency positions, settlement and reconciliation. Balances are always explainable by the movements beneath them.
Configurable rules, approvals, exceptions and escalation. Commercial policy lives as data so a business decision does not require a release.
Push, SMS and email with per-channel fallback and delivery tracking, so a notification that matters is not silently dropped by one provider.
Provider adapters behind stable internal contracts, webhook handling, health monitoring and automatic failover. Any single vendor can be replaced without touching the domain.
WebSocket signalling, WebRTC media and live state propagation for the products where a two-second delay is a product failure rather than an annoyance.
Dashboards and exports computed off live records rather than a nightly copy, so the number on the screen is the number in the system.
02 / One source of truth
The failure mode of enterprise software is not a missing feature. It is two systems holding two versions of the same fact. Every surface we build reads and writes the same records — there is no nightly export, and no reconciliation spreadsheet.
03 / Stack
We choose tools with long support horizons and large talent pools, then apply discipline where it matters: domain modelling, boundaries, background work and evidence.
04 / In practice
Each platform uses the same foundations and then goes deep into its own industry.
Next step
If your problem needs identity, audit, money, workflow and integration solved properly, we have already built that part eight times.