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.
Multi-tenant admin view with per-merchant number-issue flags surfaced inline.
Trial vs. Contract pills, progress bars, and inline status — the operator's home page.
Obfuscated PII by default. Deep-linkable filters. Bulk export without bulk delete on the merchant side.
Real-time monitoring across every tenant. One shared socket, sub-50 ms update window.
Every call ends with a GPT-generated summary, a turn-by-turn transcript synced to playback, and structured lead notes.
AI books, humans approve. Nothing touches a real calendar without a person signing off.
Prompts live in the database. Edit, save, and the next call picks up the new behaviour — no deploy.
Global control rules prepended to every prompt, and telephony rate limits tuned without a release.
Two-token, httpOnly-cookie design. Access token in JS memory, refresh through a Next.js API proxy.
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