Skip to content
shrey.kadia
← Work

A self-hosted AI phone agent

An AI agent that phones every new sales lead within minutes, holds a natural conversation over the real phone network, qualifies the lead and files the call in the CRM, on self-hosted telephony with no third-party voice platform.

Role
Sole engineer, Mehta Softech
Product
Mitoo
When
2026
Stack
FreeSWITCH / SIP, NestJS, AWS Bedrock (Claude), Real-time STT / TTS, AWS

What it does

A lead comes in from a web form or an ad. Within minutes, the AI agent phones them from the company's own number. It introduces itself on the company's behalf, finds out what they need, their timeline and whether they make the decision, and books a callback or a meeting if they want one.

When the call ends, the lead is rated automatically (hot, warm or cold), and a call log with the recording and transcript is filed in the CRM, just as if a salesperson had made the call. The same agent can also answer inbound calls.

from new lead to first call
≤15 minfrom new lead to first call
concurrent calls per server
20concurrent calls per server

How it fits together

At a glance · select a component
    • Calls are scheduled automatically, respecting calling hours and the company's limits.

What made it hard

  • Turn-taking. A phone call has no "send" button. The agent has to tell whether someone has finished speaking, is pausing to think, is interrupting, or is just saying "hmm". Getting it wrong either way sounds broken.
  • Latency. Every stage (hearing, understanding, deciding, speaking) adds delay, and silence on a phone line feels much longer than it is. I traced real calls end to end and removed delay stage by stage.
  • Real telephony. Carriers, busy lines, unanswered calls and dropped connections are everyday events, not edge cases.
  • Running it as a product. Many companies, many simultaneous calls, calling hours, retries and per-minute billing all had to work without anyone watching.

Outcomes

  • Every new lead gets a qualifying call within 15 minutes, with the result in the CRM and no manual step.
  • 20 concurrent calls per server, scaling out horizontally by adding servers.
  • Built on self-hosted telephony, so the company owns the whole call path and its costs.