A call routing platform with a modular multi-tenant NestJS architecture, a routing engine with several configurable strategies, dynamic score adjustments, third-party VoIP integration, Prisma ORM, Swagger docs.
The architecture is based on a modular NestJS organization, with each module responsible for a domain: campaigns, numbers, routing, billing, recordings, reporting. This strict separation makes it possible to change the routing logic without affecting billing, and vice versa, with end-to-end type coverage.
The routing engine is the most critical component. It supports several routing strategies that are configurable to each campaign's needs. Dynamic modifiers adjust the scores based on geolocation, time of day and budget caps. Integration with a third-party VoIP provider handles the telephony: reception, transfer, recording and conferencing.
The multi-tenant architecture isolates data per client while sharing the infrastructure. Prisma ORM with PostgreSQL handles the complex data models: nested campaigns, conditional routing rules, call histories. The Swagger documentation is generated automatically from the NestJS decorators.
Modular multi-tenant NestJS architecture: authentication (JWT/Passport), per-tenant isolation, management of campaigns, numbers, routing, compliance and reporting.
Decisioning engine with several configurable routing strategies and dynamic modifiers for score adjustment.
Complete third-party VoIP integration: DID number provisioning, call control, recording, webhooks.
End-to-end typed TypeScript architecture, Prisma ORM with complete data modeling, complete Swagger documentation.
Configurable conversion tracking with duration thresholds, payout calculations (per call/minute/conversion), audit logs.
Multi-tenant NestJS, separation by domain
End-to-end TypeScript across the whole stack
DID provisioning, control, recording
A brief, a repo, or a quick call - whatever works.