All work
TypeClient platformStageIn production · design partner

MatchBridge

A thousand buyers against a thousand listings, scored continuously, with an AI copilot working inside the CRM.

Client

a Charleston residential real-estate brokerage

Deliverables

Real-Estate CRM · Matching Engine · AI Copilot · Maps

Stack

Next.js 16 (App Router) · React 19 · TypeScript · Supabase (Postgres, SSR Auth, Row-Level Security) · Anthropic Claude SDK (tool-calling) · Mapbox GL / react-map-gl · Apify (Zillow scraper) · Tailwind CSS v4 · shadcn / Base UI · PapaParse (CSV import) · Vercel

The MatchBridge overview — active buyers and sellers side by side, each row showing its live match count, with search across name, address, and neighborhood

The whole book on one screen

Every buyer and every listing, each row carrying its live match count. The work that used to live in an agent's memory and a private spreadsheet, scored and sorted in one place.

The property map — every listing pinned with its price, color-coded by price band, over a dark city map

The book on a map

Every listing pinned and price-banded at a glance. Sidekick can drive this view too: "show me everything under a million near downtown" just works.

A generated match scored 92 out of 100 — buyer and listing side by side with per-signal scores for price, city, bedrooms, square footage, condition, and timeline

A score you can argue with

Every match shows its work — price, location, size, condition, timeline, each scored on its own. Agents trust a 92 they can unpack; nobody trusts a black box.

The add-a-seller form — contact, address autocomplete, asking price, beds and baths, structured so the matching engine gets real fields

Intake built for the matching engine

Structured from the first keystroke — address autocomplete, price, beds, baths, condition — so every new record is instantly matchable, not a notes field someone has to decode later.

01 — The problem

A busy brokerage carries a thousand buyers and a thousand listings at once — a million possible pairings. Agents only ever check the dozen they remember; the rest sit in private spreadsheets or never surface. The most valuable work in the business was happening from memory.

02 — What we built

MatchBridge scores every buyer against every listing, continuously, and puts an AI copilot right next to the data. Scoring is deterministic: eleven signals like price, location, size, and timeline, weighted by the fields a record has filled in, so a thin profile can't fake a strong match. Sidekick, the copilot, handles the busywork in plain English — add a buyer, run the matches, explain why a score is what it is, even drive the map. New listings pull their detail from Zillow, and an existing book imports from a spreadsheet in one step.

  • Scores every buyer against every listing 0–100 on eleven signals, with the reasoning behind each match.
  • Weights only the fields a record has, so a sparse profile never inflates a score.
  • Sidekick adds records, runs matches, and explains any score without leaving the page.
  • New listings arrive pre-filled from Zillow; an existing book imports from a spreadsheet in one step.
  • Multi-tenant with team invites and per-agent assignment, so each brokerage's book stays its own.
03 — The result

In production with the design-partner brokerage, whose full book — every buyer against every listing — now runs through the engine instead of an agent's memory.

11-signal weighted match score
0–100 buyer ↔ listing, explained
Whole book continuously scored
Next project

BidDraft

A contractor talks through the job from the truck; the estimate comes back priced, branded, and ready to send before the next stop.

Let's put AI
to work.

We take on a small number of engagements at a time so we can go all-in with every client. Tell us where AI could transform your operations.

Prefer email? cornerstoneindustriesteam@gmail.com
We typically respond within 24 hours.