K2X Auto
A multi-tenant AI voice-calling platform for Australian real-estate agencies, automating high-volume seller prospecting with sub-second voice latency, a 10-category lead classifier, and compliance built in at every dial.
Business Overview
K2X Auto is a multi-tenant voice-calling platform built for Australian real-estate agencies. Its job is the part of the business nobody enjoys: calling property owners at scale to find the few who actually want to sell.
Agencies do not need thousands of raw call logs. They need a small, sorted pipeline: hot sellers handed to a human for an appraisal, pipeline sellers nurtured over time, and everything else bucketed cleanly. That is what the platform delivers, and it is in production today on AWS ap-southeast-2, serving multiple agencies from one codebase.
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 as people tire.
On top of that sits compliance. Every dial has to respect do-not-call rules and opt-outs, and every list a human sees has to protect personal information. The platform had to run entire campaigns automatically while staying strict about who it calls, when it calls, and what it shows.
Solution
We built 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 carry it: a NestJS backend, a Next.js dual-UI frontend, and a Python LiveKit voice agent, wired together 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. The video here is a short walkthrough: the admin console, a live call going through the voice agent, and the lead pipeline forming in real time.
The platform is built around six core systems:
-
Three-Stage Voice Agent
Built on the LiveKit Agents SDK with a deliberate handoff pattern: GreetingAgent opens, QualifierAgent drives the conversation, EndingAgent closes cleanly. STT, LLM, and TTS providers are pluggable 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, and 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, a 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.
-
Multi-Tenant by Design
One codebase, two products. Admins run the business across every tenant, merchants see only their own world, and tenant scoping is enforced at the database query layer so merchants never see another agency's data.
Inside the Platform
The Campaign Detail page is the richest screen in the app: the Call Blocks timeline, Overview KPIs, Call Statistics, Lead Breakdown, Cost Tracking, and the scoped contacts table, all in a single view. Campaigns are split into 200-contact blocks scheduled week by week, and operators activate, pause, and buffer the unanswered ones at the block level.
The merchant side is the ROI view the agency actually opens: every lead category deep-links into a pre-filtered contact list, so "show me my hot sellers" is one click, not a query.
Measured Results
The numbers speak
What the AI calling platform delivers on every outbound campaign K2X Auto runs.
Outcome
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.
And it was built for operations, not just demos. Shipped on day one:
- Telnyx spam-flagging workflow with automatic replacement number assignment.
- Per-turn latency tracking on every call, visible in the admin dashboard.
- Appointment human-review queue before anything touches a real calendar.
- Global control-rules prompt to enforce compliance phrasing across every agent.
Next Steps
The platform is in production on AWS ap-southeast-2, running live campaigns for Australian agencies. From here the work is operational: tuning agent prompts straight from the admin console with no deploys, watching per-turn latency on every call, and letting the compliance engine keep each dial clean as more tenants come onto the same codebase.
Every call compliant, every call measured, every outcome sorted into a bucket a human can act on. That is the standard we held K2X Auto to from the first dial.
Xpiderz Team
Builders of K2X Auto

















