case study

Real Estate Agency Listings: Private AI for Market Monitoring and Client Matching

A Bangkok real estate agency monitors listings, matches buyers to properties, and coordinates transactions using a private AI system on their own server.

active listings monitored

2,400+

buyer profiles managed

350+

listing platforms tracked

4 (DDProperty, Hipflat, FazWaz, agency site)

the problem

Listings across platforms, buyers in spreadsheets

The agency lists condos and landed property across four platforms: DDProperty, Hipflat, FazWaz, and their own website. Each platform has its own dashboard, its own notification system, and its own format for listing data. When a new condo project launched units in Ari or a townhouse price dropped in Ekkamai, individual agents would find out whenever they happened to check.

Buyer management was worse. The agency maintained a shared Google Sheet with buyer preferences: budget range, preferred areas, condo or house, Thai or international buyer, financing needs. Matching a new listing to the right buyer meant scanning rows, remembering conversations, and hoping the sheet was up to date.

Transaction coordination lived in Line group chats. Contract deadlines, transfer dates, document requirements, and commission splits were scattered across dozens of conversations. Finding the status of a specific deal meant scrolling through chat history.

The agency had grown to 18 agents, a mix of Thai nationals working the local landed market and bilingual agents handling international condo buyers. The manual processes that worked with six agents were breaking down. Listings were missed, buyers were contacted too late, and deals fell through cracks between platforms.

the build

What was built

The system runs on a server in the agency's Bangkok office. It connects to four listing platforms via their APIs and web feeds, the agency's internal CRM, a shared calendar for transaction milestones, and the team's Line group for notifications.

The listing monitor runs on a scheduled cycle. It pulls new and updated listings from all four platforms, normalizes each into a common schema (price, area, district, property type, floor area, bedrooms, listing date, price history), and evaluates them against active buyer profiles.

Buyer profiles are structured records. Each captures budget range, preferred districts, property type, size requirements, nationality and language preference, financing status, and timeline urgency. Agents create and update profiles through conversation: "add a new buyer, budget 8 to 12 million, looking for a 2 bed condo in Thonglor or Phrom Phong, Thai national, pre-approved for financing." The system parses this into a structured profile and confirms the details.

When a listing matches a buyer profile, the assigned agent receives a notification through Line with the listing details, match reasoning, and a link. The agent decides whether to act. The system surfaces opportunities but does not contact buyers or make decisions.

Transaction tracking is event-driven. When an agent marks a listing as "under offer," the system creates a timeline: deposit deadline, contract signing, transfer date, document submissions. Each milestone generates a reminder, and missed deadlines trigger an escalation to the coordinator.

OpenClaw orchestrates the full system. Each data source and action is a typed plugin. The cron scheduler handles listing monitoring, daily match reports, and deadline reminders. The messaging layer delivers everything through Line.

daily use

What it looks like day to day

The morning starts with a team digest pushed to the agency's Line group: new listings in tracked districts, price changes on monitored properties, and buyer matches from overnight. Each agent also gets a personal summary with their active buyers, new matches, and upcoming transaction deadlines.

Throughout the day, agents interact conversationally. "Show me all 2 bed condos under 10 million in Sukhumvit that listed this week" returns a filtered set from the normalized database. "What's the status on the Ari transfer?" pulls the transaction timeline. "Update Mrs. Chen's budget to 15 million and add Sathorn to her preferred areas" modifies the profile immediately.

The office coordinator uses the system differently. "Which deals have deadlines this week?" produces a summary across all transactions. "How many new listings matched buyers this month?" gives a pipeline report. "Which agents have uncontacted matches older than 48 hours?" flags follow-up gaps.

Market monitoring runs in the background. The system tracks average price per square meter by district, listing volume trends, and days-on-market averages. When an agent asks "how's the Thonglor condo market compared to last quarter?" the data is already aggregated.

the result

What changed

The median time between a new listing appearing on a platform and the matched agent being notified dropped from an estimated two to three days to under four hours. For high-priority buyer profiles, notifications arrive within the monitoring cycle.

Before the system, agents estimated they caught roughly 60 to 70 percent of relevant new listings across all platforms. With normalized monitoring across four platforms, coverage is effectively complete for tracked districts and property types.

Transaction coordination improved because deadlines became visible. The milestone tracking and escalation removed the need to rely on memory or chat history. Buyer matching quality also improved as profiles became richer, since agents started adding more detail when the system actually used the information.

The system processes all buyer financial details, preferred areas, and transaction timelines on the agency's own server. No client data flows to external AI services. The agency controls their data, and the coordination scales with team size without the overhead growing proportionally.

the stack

Technical details

The core is an OpenClaw instance running on a local server. The database is SQLite, storing normalized listings, buyer profiles, transaction timelines, match history, and market aggregates. Each data source and action is wrapped as a typed plugin.

Listing ingestion uses four paths: API polling for platforms with structured feeds, HTML parsing for those without, the agency's CRM for their own listings, and manual entry through conversation for off-market properties. Each platform adapter normalizes data into the common schema.

The matching engine is deterministic. Price range, district, property type, bedroom count, and floor area are hard filters. Secondary preferences like floor level and facing direction are soft scoring factors. The system ranks matches and explains why each listing was surfaced with transparent criteria, not an opaque relevance score.

OpenClaw's cron scheduler runs listing monitoring every four hours, morning team digests at 07:00, deadline checks twice daily, and weekly market summaries on Monday. The messaging layer delivers through Line. The system handles Thai and English natively, and international agents communicate in English while Thai-speaking agents use Thai.

services

Private AI systems for agencies, brokerages, and property management companies.

how it works

Deployment model, privacy architecture, and the engagement process.

your agency's data is your edge.

The same architecture that powers listing intelligence for real estate agencies handles document review for law firms, patient intake for clinics, and operations coordination for construction companies. The conversation starts with your situation.

book a consultation