K2XAuto
Amulti-tenantAIvoice-callingplatformforAustralianreal-estateagencies—automatinghigh-volumesellerprospectingwithsub-secondvoicelatency,a10-categoryleadclassifier,andcompliancebuiltinateverydial.
Overview
The Challenge
Real-estate agencies burn weeks of human effort cold-calling owners just to surface a handful of genuine sellers.
Outbound prospecting is high volume, repetitive, and sensitive to time zones. Conversion per call is low, hiring callers is expensive, training takes weeks, and quality drifts. Agencies need a small, sorted pipeline — hot sellers handed to a human for appraisal, pipeline sellers nurtured, and everything else bucketed cleanly.
Client
K2X Auto — Multi-Tenant Platform for Australian Real-Estate Agencies
Status
In production on AWS ap-southeast-2 — Australia
Industry
Real Estate / Conversational AI / Telephony
Tech Stack
NestJS, PostgreSQL, Redis/BullMQ, Next.js 16, React 19, Python LiveKit, Telnyx, OpenAI, ElevenLabs, AWS
A production voice-calling platform that runs entire prospecting campaigns while admins and merchants watch the pipeline form in real time.
Three independently deployable services — a NestJS backend, a Next.js dual-UI frontend, and a Python LiveKit voice agent — wired through Telnyx SIP. Campaigns dial through a hardened compliance engine, a three-stage agent handoff closes each call, and GPT-driven post-call analysis classifies every outcome into one of ten lead categories.
See K2X Auto in action
A short walkthrough of the admin console, a live call going through the voice agent, and the lead pipeline forming in real time.
The numbers speak
Lead Categories, Auto-Classified
Every call ends with a GPT-driven classification: HOT_SELLER, PIPELINE_SELLER, PRICE_CHECK, POTENTIAL_MANAGEMENT, BUYER_ONLY, PRICE_DEPENDENT_SELLER, NOT_INTERESTED, WRONG_CONTACT, UPDATED_EMAIL, UNSUBSCRIBE. The merchant dashboard deep-links each category into a pre-filtered contact list — the ROI view the agency actually opens.
Voice-to-Voice Latency
A natural-prosody conversational loop driven by LiveKit, OpenAI, and ElevenLabs. Per-turn EOU, LLM TTFT, TTS TTFB and E2E metrics ship back to the admin Latency dashboard on every call — not guesswork, measured on every dial.
Contacts per Campaign Block
Campaigns are split into 200-contact blocks scheduled week-by-week, not dropped into a rolling queue. Operators activate, pause, and "buffer the unanswered ones" at the block level — a visible, controllable structure instead of an opaque firehose.
Deploys Needed to Tune the AI
Agent prompts, handoff targets, tools and voice live in the database and are fetched at runtime with a 5-minute TTL cache. Editing a prompt in the admin Settings → Agent Configurations page takes effect on the next call — no code push, no restart, no downtime.
Capabilities
What we built
Three-stage LiveKit voice agent with runtime-configurable prompts
Built on the LiveKit Agents SDK with a deliberate handoff pattern — GreetingAgent opens, QualifierAgent drives the conversation, EndingAgent closes cleanly. Pluggable STT, LLM and TTS providers via env vars so each layer can be swapped on cost or quality without touching agent code.
Block-Based Campaign Orchestration
Per-campaign BullMQ queues with staggered delays, 1,000-contact batches, idempotency keys per contact per day. One misbehaving campaign cannot starve the others.
Compliance Engine
Blacklist and DNC enforcement before every dial, auto-blacklisting of spouse numbers on opt-out, and PII obfuscation applied at the column-render layer on every list.
Real-Time Dual Dashboards
One shared Socket.IO connection per layout, batched TanStack invalidations on a 50 ms window, jittered polling fallback, and tab-visibility catch-up — the UI stays live without hammering the server.
AU-Timezone-Aware Scheduling
Seven AU timezones, per-merchant business hours, and a live merchant-clock chip with a countdown banner that answers "why isn't it dialing?" before anyone has to ask.
One codebase, two products — admin console and merchant app
Shared data models, shared components, intentionally different surface area. Admins run the business across every tenant; merchants see only their own world. Tenant scoping enforced at the database query layer so the UI can trust what it renders — merchants never see another agency's data.
Product Walkthrough
Inside the platform
The richest page in the app — block timeline, KPI grid, Lead Breakdown, Cost Tracking, and the scoped contacts table in a single view.
Outcome
The results
A production-grade voice platform where every call is compliant, measured, and turned into a sorted, actionable lead.
K2X Auto takes the part of real-estate prospecting that humans do worst — high-volume, low-conversion cold-calling — and runs it with sub-second latency, strict DNC compliance, and a classifier that always produces the same ten, human-readable buckets. Human agents pick up where value actually exists: hot sellers ready for an appraisal.
Built for Operations, Not Just Demos
Telnyx spam-flagging workflow with automatic replacement assignment, per-turn latency tracking on every call, appointment human-review queue before anything touches a real calendar, and a global control-rules prompt to enforce compliance phrasing across every agent — all shipped on day one.
Ready to Automate
Your Outbound?
We'll map your highest-impact voice AI opportunity in a free 30-minute call.
Schedule a Call