Project overview
SandeshX is a messaging control plane: tenants send SMS and WhatsApp at volume without each one running their own Kannel.
Business challenge
Broadcast tools die on credits, DLT/template rules, and noisy neighbors. Multi-tenant messaging needs queues and identity as much as a pretty composer.
Solution architecture
Vite UI, FastAPI, PostgreSQL for tenants and credits, Kannel (and WhatsApp Business paths) as gateways. Jobs, not fire-and-forget loops.
Composer → tenant policy → job queue → gateway → DLR back into the tenant.
Technology stack
Key features
Tenant isolation
Credits, senders, logs per tenant.
SMS at volume
Kannel-class delivery.
WhatsApp broadcasts
Template-aware, not unrestricted chat.
API access
Same jobs the UI runs.
My role
Implementation
Documented Vite + FastAPI + PostgreSQL + Kannel stack. Useful as CPaaS-adjacent proof next to the voice work.
Results / capabilities
- Shared gateway, isolated tenants
- Job-based broadcasts
- SMS and WhatsApp as channels
Building something in this class?
Share the workflow, current stack and constraints. The first reply is an architecture-minded review.
Discuss Your Project