Case study / Enterprise AI Telephony

Autonomous Acquisitions Engine

An automated real estate acquisitions platform that manages the entire outreach process: ingesting property data, enriching contact details, and conducting natural, low-latency phone conversations with property owners using conversational AI.

The challenge

High-volume outbound outreach usually runs into three major bottlenecks: systems accidentally call the same contact twice when running across multiple servers, telecom carriers block numbers if calls go out too fast, and traditional voice AI has noticeable delays that make conversations feel robotic. The system needed to process large property databases, coordinate telecom network events with live AI speech, and prevent duplicate outreach without human intervention.

The solution

We engineered a distributed, event-driven architecture that coordinates each step of the outreach pipeline. A centralized locking mechanism in PostgreSQL guarantees that no lead is ever double-called, automated call pacing keeps outreach compliant with telecom regulations, and a dedicated audio bridge connects telephone audio to conversational AI models with sub-second latency so conversations feel completely natural.

Automated Lead Ingestion & High-Speed Filtering

The platform manages real estate acquisitions through independent cloud microservices communicating across AWS message queues. To keep data moving quickly, services pass lightweight notification tokens rather than bulky data files, allowing background workers to fetch only the exact records they need.

When new property lists are uploaded, the ingestion engine cleans and normalizes public records, screens 10,000 properties against custom investment criteria in under 20 seconds, and enriches records with validated phone numbers before automatically scheduling them for outreach.

  • Lightweight message queues keep data flowing smoothly across cloud services without hitting payload limits.
  • Dynamic criteria screening allows acquisition managers to target specific property profiles instantly without database changes.
  • Centralized configuration allows operators to tune dialing speeds and filtering rules live with zero system downtime.

State Synchronization: Preventing Double-Calls & Race Conditions

When managing thousands of automated calls every hour, network events often arrive out of order. For example, a phone carrier might send a 'call connected' update milliseconds after an AI agent has already finished the conversation and scheduled a follow-up. Standard databases can easily get confused by these overlapping events.

To guarantee that data stays accurate, the architecture enforces a strict status hierarchy paired with PostgreSQL row-level locks. Before updating any lead, the system places a temporary lock on that specific record. If a delayed network signal arrives after a final outcome is already saved, the stale event is safely ignored, ensuring contacts are never double-called or overwritten.

  1. 01

    Outbound pacer releases contacts at calibrated intervals to stay within telecom carrier limits.

  2. 02

    Dialing service records a temporary lease in DynamoDB and initiates the call through Twilio.

  3. 03

    Twilio establishes a live, bidirectional audio connection over WebSockets directly to the audio bridge.

  4. 04

    Conversational AI listens, understands context, and speaks back naturally in real time.

  5. 05

    Webhook handler locks the lead record, updates the status, and releases the dialing lease.

  6. 06

    Automated background monitor frees any stalled slots if a network disconnects, keeping the dialing queue running smoothly.

Real-Time Audio Bridge: Making Voice AI Feel Human

In voice conversations, even a short half-second delay makes an AI agent feel sluggish and unnatural. Traditional setups wait until the phone call is answered before establishing the AI audio connection, leading to awkward silences and cutting off the prospect's opening words.

We resolved this by building a dedicated real-time audio bridge. The system connects to the conversational voice model the moment dialing begins, keeping a short audio buffer ready to catch the very first word spoken. By streaming audio continuously at natural speech speed, the AI responds immediately, handles interruptions gracefully, and holds a fluid conversation.

  • Parallel connection setup ensures the AI is ready to listen the instant the call is answered.
  • Audio pre-roll buffering preserves the opening greeting so the model never misses the prospect's first words.
  • Precise audio pacing eliminates robotic jitter and prevents false interruptions during natural speech pauses.

Technology stack

Technologies used in this project.

Cloud Architecture & Messaging

  • AWS SAM
  • AWS Lambda
  • Amazon SNS
  • Amazon SQS
  • Amazon EventBridge
  • AWS Systems Manager

Data Reliability & Race-Condition Prevention

  • PostgreSQL (RDS)
  • Row-Level Advisory Locks
  • Amazon DynamoDB State Leases
  • Streaming Data Ingestion

Telephony & Conversational Voice AI

  • Twilio Voice & Media Streams
  • Hume AI Conversational Engine
  • WebSocket Audio Streaming
  • Real-Time Voice Activity Detection (VAD)

Related development services

View all projects

Your next step

Let’s define what you need to build.

Bring the idea or the process you want to improve. We’ll start with the requirements, the risks and the right scope.

Discuss Your Project