Multi-tenant platform / 2025
Raeetna
I rebuilt a church management system as a multi-tenant platform, with a separate database for each organisation and a shared control plane.
- Role
- Architecture & full build
- Tenancy
- Database per organisation
- Deployed for
- 6,400 members
- Status
- Live in production
The starting point
The original system served a single church. Adding another organisation meant deploying another copy. The rebuild needed to support multiple churches while keeping household, family and pastoral records separate.
The existing deployment held records for 6,400 members, 1,900 households and 1,018 families. I handled the architecture and implementation.
Separating the data
One database per organisation
Each church has its own database. A separate control plane manages provisioning, tenant records and platform state.
Routing by request host
The incoming host selects the tenant connection. Each organisation can use a custom domain without changes to application code.
Independent backups
Copies are stored at a second provider, separate from the primary infrastructure. A full restore drill recovered 23,717 documents with zero failures.
Measured results
I reduced the work done by the core analytics aggregations and measured the changes. The restore result comes from an end-to-end recovery drill.
| Measurement | Before / scope | After / result |
|---|---|---|
| Core analytics queries | 1,675ms | 59ms |
| Dashboard load | 5.3s | 3.5s |
| Restore drill | 23,717 documents | 0 failures |
In practice
- members
- 6,400
- households
- 1,900
- families
- 1,018
- faster core analytics
- 28×
React · Node.js · MongoDB · Database per tenant · Offsite backups · Custom domains