Case Study
From messy Beta to production-ready SaaS: how InterCode rebuilt Rezora's AI voice agent platform for real estate
AI voice agent development and full-stack web application rebuild & UX overhaul market for United States PropTech agency Rezora.

Statistics
4.6xmore appointments
94%contact rate
86%down cost per appointment
Client overview
Client is a US-based AI SaaS startup operating at the intersection of real estate and conversational AI. The company's core product is an AI voice agent platform that automates outbound lead follow-up and appointment scheduling for real estate professionals — solo agents, team leads, and brokerages of any size.
The value proposition is disarmingly simple: a real estate agent uploads a CSV of leads, connects their calendar, and Rezora's AI begins calling every lead within seconds. The system qualifies prospects using natural, human-sounding dialogue, handles objections, and books confirmed appointments directly to the agent's calendar — without a single manual dial.
The value proposition is disarmingly simple: a real estate agent uploads a CSV of leads, connects their calendar, and Rezora's AI begins calling every lead within seconds. The system qualifies prospects using natural, human-sounding dialogue, handles objections, and books confirmed appointments directly to the agent's calendar — without a single manual dial.
Client positions itself against two expensive alternatives that have long defined the industry:
Hiring an Inside Sales Agent (ISA): typically costs $2,000–$3,000 per month for a role with high turnover, inconsistent performance, and zero coverage after 6 PM.
Building a custom AI stack: requires telephony expertise, LLM prompt engineering, backend infrastructure, and ongoing maintenance — well beyond the reach of most real estate businesses.
Client eliminates both pain points through a no-code, self-serve platform at $289 per month. AI agents can go from signup to their first AI-dialed call in under 10 minutes, with no technical knowledge required.
The platform targets real estate professionals across the US market who work with lead sources such as Zillow, Realtor.com, and CSV-based uploads, and who need their CRM integrations, calendar tools, and lead workflows to work together without custom engineering.
The platform targets real estate professionals across the US market who work with lead sources such as Zillow, Realtor.com, and CSV-based uploads, and who need their CRM integrations, calendar tools, and lead workflows to work together without custom engineering.

End user profiles
Solo real estate agents who cannot afford a dedicated ISA and lose leads to faster competitors
Team leads and managing brokers overseeing 3–10 agents who need consistent, scalable follow-up across the team
Real estate investment and wholesaling teams managing high lead volumes with tight conversion windows
Real estate offices seeking to automate front-desk and inbound inquiry handling
Luxury and specialty agents (Sotheby's, Compass, Coldwell Banker, RE/MAX) who need a professional AI voice that matches their brand
At the time of engagement, the client had already validated its core concept with paying beta customers and was backed by a technical founder. The product worked — but the engineering needed to be rebuilt to scale.

Project description
Phase 1 — Audit & Planning: The team conducted a thorough architecture audit, mapping every data flow, identifying all integration points, and cataloging which parts of the codebase were functional and worth preserving versus which needed to be replaced. This was not a surface-level review — the team went deep into component trees, API call patterns, and state management flows to build a reliable picture of what existed before writing a single line of replacement code.
This mattered enormously. The client had paying beta customers whose workflows depended on the existing system. A blind rewrite that broke their active configurations or call campaigns would have been commercially damaging. The audit phase ensured the team rebuilt with precision, not just speed.
Phase 2 — Full Rebuild & UX Overhaul: With a clear map in hand, the team executed a complete rebuild of the frontend while preserving the core AI calling logic and backend integrations that were already delivering value. New feature work, architectural improvements, and UX redesign happened in parallel against the one-month delivery window.


Business challenge
The real estate industry runs on speed. According to data surfaced on Rezora's platform, 78% of leads go with the first agent to respond — not the best agent, not the most experienced. Just the fastest. Yet the average response time for a US real estate lead is over four hours, because agents are doing what they do: showing homes, running open houses, driving clients, and negotiating contracts.
The traditional solution — hiring an ISA — is fragile. ISAs quit. They miss calls. They go home at 6 PM. They cost thousands per month and require constant oversight. Drip campaigns and email sequences don't close the gap; most go unread.
Client’s founding thesis was that AI voice technology had finally matured enough to replace that workflow entirely. An AI voice agent that calls every lead within 15 seconds, 24 hours a day, never gets tired, never misses a shift, and books directly to the agent's calendar — at a cost of roughly $12 per booked appointment versus the industry average of $85.

What was broken before InterCode
When Rezora approached InterCode, the product had cleared its most important proof point: paying customers were using it. But the technical foundation beneath it was not built to last.
The codebase, as assessed by InterCode's CTO during a formal architecture audit, was described as "untidy and raw." The development team's initial verdict was that the existing state of the project made it practically impossible to accelerate feature delivery, bring on additional engineers cleanly, or make architectural improvements without risking breakage across the board.
Specifically, the audit identified several structural problems:
The most symptomatic was AgentConfiguration.tsx — a single React component that had grown to 2,917 lines of code. It handled agent setup, form logic, API calls, and state management all in one file, making every change a gamble and every bug a hunt through thousands of lines of tightly coupled code.
The most symptomatic was AgentConfiguration.tsx — a single React component that had grown to 2,917 lines of code. It handled agent setup, form logic, API calls, and state management all in one file, making every change a gamble and every bug a hunt through thousands of lines of tightly coupled code.
Beyond that one file, the broader codebase reflected the classic patterns of a fast-moving beta: mixed API call patterns where some components talked directly to Supabase and others used TanStack Query; no global state management for shared UI state; components that imported and called the Supabase client directly without an abstraction layer; and the near-total absence of unit tests for any business-critical components.

The practical consequence was a hard ceiling on development velocity. Every new feature or UX change required understanding the full context of whichever monolithic component it touched — and risked introducing regressions that were difficult to catch without test coverage.
There was also a scalability concern embedded in the architecture: bundle sizes included all Radix UI components regardless of whether they were used on a given screen; large data lists (contacts, call recordings) had no virtualization; and subscription cleanup in certain components was incomplete, creating potential memory leaks under heavy usage.
The client's own job brief captured the stakes clearly: the goal was to transition Rezora from "working beta" to production-ready — meaning reliable core flows, intuitive UX requiring minimal onboarding, backend architecture that could scale to 10x current load, and professional polish throughout.
The central business question: Could the team preserve everything that was already working for paying customers, rebuild everything that wasn't, and ship meaningful UX improvements — all within a one-month engagement timeline?
What was built
The Rezora platform is a web application that gives real estate professionals a control center for their AI outbound calling operations. After the InterCode rebuild, it consists of several interconnected functional areas:
AI Voice Agent configuration panel. The primary interface for creating and tuning AI voice agents. Users define the agent's name and voice persona, upload or connect data sources (CSV files, Zillow feeds, Realtor.com leads, Zapier webhooks), write and customize call scripts and qualifying questions, configure calling logic including retry behavior and timing rules, and connect their calendar for live appointment booking. This is the most business-critical part of the product.
Campaign management dashboard. AI agents manage their active lead pools from a central view — seeing which leads have been called, what the outcome was, and which are queued for follow-up. The AI handles retry logic autonomously, but the agent has full visibility and control.

Live call transcripts & analytics. Every call the platform makes is recorded (TCPA-compliant, with full state-by-state regulatory adherence), transcribed, and analyzed by the AI. Agents see a lead score out of 100, a budget range, timeline, decision-maker profile, and a plain-English insight summary ("Strong intent. Familiar with listing. Price adjustment created urgency. Booked showing within 30 seconds."). This intelligence layer transforms raw call data into actionable pipeline insight.
Calendar integration and appointment booking. The app connects to Google Calendar, Outlook, Apple Calendar, Zoho Calendar, and Vimcal. When a call successfully qualifies a lead and reaches an agreed appointment time, the platform books directly without human intervention. The agent wakes up to a populated calendar.
Inbound Agent Module (in design): Alongside the outbound AI agent, the client was actively researching an inbound agent flow — essentially an AI front desk receptionist for real estate offices.
As the client described: "Think of the inbound agent more like a front desk receptionist. Users configure their AI agent, connect a calendar, and add a dynamic data source — like a Google Sheets CSV of all listings in a brokerage, upcoming open houses — so the AI can answer questions a customer might have, or even schedule showings." This capability represents the next phase of the platform's evolution.

Technologies Used

Architecture
The Rezora platform is built as a monorepo — a version-controlled repository housing all front-end application code, with Supabase providing the backend-as-a-service layer and AWS handling cloud infrastructure.
This architecture choice reflects the realities of an early-stage SaaS product: monorepos reduce operational overhead, simplify dependency management, and allow a small team to ship fast without the coordination costs that come with microservices. The tradeoff is that disciplined code organization — separating concerns clearly within the repo — becomes even more important.
After the rebuild, the project adopted a feature-based folder structure using React's component composition model, with clear separation between UI components, custom hooks containing business logic, and API service layers. The previous pattern of mixing Supabase client calls directly into UI components was replaced with an abstraction layer that makes the data access pattern consistent and testable across the application.

Frontend
The rebuilt frontend is built on React 18 with TypeScript, using Vite as the build tool, Tailwind CSS for utility-first styling, and shadcn/ui as the component library.
This combination was selected for a specific set of practical reasons.
This combination was selected for a specific set of practical reasons.
The previous frontend's state management was inconsistent — some components called Supabase directly, others used TanStack Query, and shared UI state had no coherent home. The rebuild introduced a clean architecture: TanStack Query owns all server-side state with proper cache invalidation strategies, while React's useState and carefully scoped context handle client-side UI state. This separation makes data flow predictable throughout the application.
Form handling is managed via React Hook Form with Zod schema validation — a pairing that provides both runtime validation and TypeScript type inference from schema definitions, ensuring form data is typed correctly from user input all the way through to API calls.
Performance improvements implemented during the rebuild include lazy loading for route-level components, component-level code splitting, and a reduction in unnecessary re-renders that had previously been triggered by overly broad state dependencies in complex forms.

Backend & database
Supabase serves as the primary backend platform, providing a PostgreSQL database, RESTful and real-time APIs auto-generated from database schemas, and row-level security policies for data isolation between accounts. The choice of Supabase as a backend-as-a-service reflects Rezora's stage: it provides production-grade infrastructure with minimal operational overhead, allowing the engineering effort to focus on product features rather than server maintenance.
Database-level security is enforced through Supabase's row-level security system, meaning that even if API calls are made incorrectly, users cannot access another account's data at the database layer. Authentication flows are handled end-to-end through Supabase Auth, covering session management, token refresh, and user identity.

Cloud Infrastructure & CI/CD
The application is hosted on AWS, leveraging its managed infrastructure for scalability and reliability. The combination of Supabase and AWS gives the web app a foundation that can absorb significant user growth without architectural changes — Supabase's PostgreSQL scales vertically and horizontally, while AWS provides the compute and networking layer that handles traffic spikes without manual intervention.
CI/CD pipelines ensure that deployments are automated, consistent, and reliable — reducing the risk of human error in production releases and enabling the team to ship improvements frequently.
CI/CD pipelines ensure that deployments are automated, consistent, and reliable — reducing the risk of human error in production releases and enabling the team to ship improvements frequently.
AI voice & telephony
The AI voice calling capability that defines the product is powered by the Retell API — a specialized conversational AI telephony platform that handles the complexity of real-time voice, speech recognition, natural language understanding, and call routing. Retell enables the platform to offer production-quality AI voice interactions without building a custom telephony stack from scratch.
The Retell integration is the most operationally sensitive part of the system. Configuring and tuning AI voice agents — prompt design, conversation flow, objection handling, qualification logic — was identified as the primary complexity that had previously slowed the platform's evolution. The rebuilt configuration interface makes this process significantly more accessible without requiring changes to the underlying telephony logic.

Key Technical Decisions
Full frontend rebuild over incremental refactoring. The team made the deliberate call to rewrite the frontend from scratch rather than attempt to refactor the existing code. The AgentConfiguration.tsx component at 2,917 lines was symptomatic of a codebase where incremental improvement would have been slower and riskier than a clean restart. The rebuild allowed the team to implement correct patterns from the ground up — proper component boundaries, abstracted data access, consistent state management — without inheriting the technical debt of the existing structure.
Supabase as the backend platform. Rather than building a custom API layer, the team retained and properly leveraged Supabase's backend-as-a-service capabilities. This decision preserved development velocity while providing enterprise-grade features: row-level security, real-time subscriptions, built-in authentication, and scalable PostgreSQL — all managed by Supabase's infrastructure team rather than client’s engineering resources.
Component abstraction for maintainability. The rebuilt codebase enforces a clear hierarchy: UI components render data and handle user interactions; custom hooks encapsulate business logic; service modules handle all API communication. No UI component directly imports the Supabase client. This abstraction layer is what makes the codebase testable, maintainable, and extensible going forward.

Business Impact
The product now supports 2,400+ active voice AI agents. At $289/month per AI agent, the rebuilt platform provides the reliability and UX polish needed to retain and grow that customer base as the company scales toward a public launch.
The math the client publishes is compelling: The app replaces an ISA team that costs $2,500/month with a $289/month subscription that consistently outperforms on speed, contact rate, and appointments booked. At $12 per booked appointment versus the $85 industry average, the product's ROI sells itself — but only if the platform is reliable, intuitive, and polished enough to earn trust from agents who have been burned by overpromised sales tools before.
The rebuilt frontend and improved UX are what make that trust possible at scale.

Future Roadmap
Based on the client's product direction and team recommendations, several high-value improvements are positioned for future development:
Inbound AI Agent (front desk receptionist). The client has begun research into an inbound agent that functions like a real estate office's front desk — answering calls, accessing a dynamic listing data source (e.g., a Google Sheets CSV of all brokerage listings and open houses), scheduling showings, and routing callers appropriately. This capability would transform Rezora from an outbound calling tool into a full AI communication platform for real estate offices.
Flexible AI automation workflows. Conditional logic for follow-up sequences, branching conversation paths based on lead behavior, and AI-triggered drip communication alongside voice calls would give agents more sophisticated control over their pipeline management.
Deeper CRM & platform integrations. Connecting Rezora directly to major real estate CRMs (Follow Up Boss, LionDesk, kvCORE) would reduce the manual steps between a Rezora-booked appointment and the agent's primary workflow tool, increasing the platform's stickiness and reducing churn.
Analytics dashboards with actionable intelligence. Richer reporting — including per-agent conversion rates, lead source ROI analysis, and time-of-day performance breakdowns — would give team leads and brokerages the data they need to optimize their lead generation spend.

Value delivered & Final results
The rebuilt Rezora platform delivers measurable results across every key performance indicator. Average lead response time dropped from 4.2 hours to just 11 seconds — a 99.9% improvement. Contact rate jumped from 23% to 94%, a 4.1× increase. Agents went from booking 3–5 appointments per week to 18–24, a 4.6× gain. And the cost per booked appointment fell from $85 to $12, an 86% reduction. These figures are drawn from a 30-day rolling average across 2,400+ active agents on the Rezora platform.
Start Your Project
Ready to Implement?
Let's discuss how our comprehensive solutions can address your specific challenges and drive success for your business. Get in touch with our team by filling out the form.
Explore More Case Studies
Discover how we've helped other clients achieve their goals

AI Real Estate CRM Development | MyHotSheet — InterCode
How InterCode built MyHotSheet — an AI-native CRM now used by 10,000+ real estate agents to automate lead tracking, follow-ups, and deal management.

Multifamily Property App | Respage Mobile — InterCode
How InterCode built the Respage Flutter app — a companion for property managers to handle reservations, social posts, and push notifications.

Multifamily SaaS Platform Development | Respage
How InterCode scaled Respage — the USA's leading AI apartment marketing SaaS — over 6 years, eliminating legacy code and shipping new features faster.