Project overview
The product had to answer and place calls in three languages, with DTMF, PIN, registration and outbound alerts — using a telephony layer the community already trusted, wired to an application the business could change.
Business challenge
Demos in one language hide the hard parts: prompt inventory, RTL language behaviour, DTMF timeouts, caller identity, and alerts that must fire after a workflow — not during a lab script.
Solution architecture
Yemot provided the IVR/telephony edge. NestJS owned business logic, language selection, registration, PIN and device/user services. PostgreSQL stored callers and workflow state. Speech/AI pieces were added where a recording or menu was not enough.
The caller never talks to the database. DID hits telephony, IVR collects intent, NestJS decides the next prompt or alert, and language stays a first-class routing key.
Technology stack
Key features
Three-language IVR
Hebrew, Yiddish and English prompt and menu paths.
Caller registration & PIN
Identity before sensitive actions.
Outbound alerts
Application events become phone notifications.
DTMF-first reliability
Menus work when speech does not.
My role
Implementation
Work included IVR tree design, NestJS services, language tables, alert jobs and live-call verification. The existing site already listed this as a hero multilingual voice project; this page is the architecture case study.
Results / capabilities
- Production IVR in three languages
- API-owned workflow, not IVR-only scripts
- Alert path after registration events
Building something in this class?
Share the workflow, current stack and constraints. The first reply is an architecture-minded review.
Discuss Your Project