A multi-programme operations platform with automated infrastructure orchestration — built to manage WDF's full rollout across SMEs, churches, NPOs, ESD, and pre-schools at province, region, ward, and church level.
Three stacked layers. Users only see Layer 1. The workflow engine is what drives everything. The infra orchestrator fires silently on every stage transition.
Every stage has features, rules, and underlying orchestrations. Stage transitions are automated — the engine moves the church forward, not a person.
How the platform looks. Role-based views — same system, different lenses. Data is enforced at DB level via Row Level Security, not just frontend filtering.
Enforced at DB level via PostgreSQL Row Level Security. Not frontend filtering — actual data isolation. Each role is a Keycloak realm role.
Only confirmed real integrations. Where no API exists, the fastest viable alternative is shown. No guesswork.
Senior-level choices. Every pick justified by scale, SA-market fit, or operational cost. No newcomers.
Running costs at initial scale (~500 churches). All figures ZAR approximate. Exchange rate sensitive for USD-priced services.
| Service | Provider | Model | Est. Monthly Cost | Notes |
|---|---|---|---|---|
| ── INFRASTRUCTURE ────────────────────── | ||||
Primary VPS cluster |
Hetzner Cloud | 3× CX31 nodes (K3s) | ~R1,800/mo | Scales horizontally as churches grow |
DNS + CDN + Static hosting |
Cloudflare | Pro plan | ~R400/mo | Covers all subdomains + church sites |
Document storage |
AWS S3 | ~500GB + egress | ~R300/mo | MinIO self-hosted = R0 (just storage cost) |
| ── PAYMENTS ────────────────────────────── | ||||
Payment processing |
Peach Payments | 2% per transaction | Variable | R350 = ~R7 fee. R3,500 = ~R70 fee per church |
| ── COMMUNICATIONS ─────────────────────── | ||||
WhatsApp notifications |
Twilio | Per message | ~R300/mo | Est. ~5 msgs/church onboarding = 2,500 msgs |
Transactional email |
SendGrid | Essentials plan | ~R200/mo | Receipts, reports, system alerts |
| ── PROVISIONING (PER CHURCH) ──────────── | ||||
VoIP number per church |
Euphoria Telecom | Per number | ~R75/church/mo | 500 churches = R37,500/mo — pass to church membership |
Email (Zoho) |
Zoho Mail | Per user | ~R30/church/mo | Or free if ≤5 mailboxes under org plan |
| ── AI ──────────────────────────────────── | ||||
Website generation |
Claude API | Per generation | ~R5–15/church | One-time cost per church onboarded |
| ── AUTH & OBSERVABILITY ───────────────── | ||||
Keycloak + Grafana |
Self-hosted on K3s | Part of cluster | R0 additional | No extra cost — runs on existing cluster |
What fires automatically when a church crosses each stage gate. This is the machine under the machine.