Skip to content
Ayoub
Back to work
SaaS platform

Smart property platform

The first call goes to the buyer who means it

Every enquiry scored and ranked, and answered from the agency's own listings.

  • Real estate
  • Live
  • My own project

At a glance

What it is
A ready buyer looks just like a curious one. The platform scores and ranks each enquiry, so agents start with the ones worth calling.
Who it is for
Real estate
Status
Live
What I owned
Everything technical

The situation

Enquiries reach a real-estate agency as a flood of messages, and the person ready to buy writes exactly like the person asking out of curiosity. Agents spend their day on conversations that will never go anywhere, while the serious buyer waits their turn in the queue.

I built this platform as my own product, for exactly this problem.

What was actually wrong

An agent's time is the scarce resource, and the messages all look alike. Sorting by hand means reading everything, and there is no time for that. An automatic reply on its own solves nothing either: a company whose system quotes a wrong figure about a property is not making a small mistake, it is taking on a liability. And conversations without a record evaporate. A month later nobody knows what each conversation produced, or where each buyer stopped.

What we were building inside

  • An agent has to open the day on an ordered list, not a queue sorted by arrival time.
  • A wrong figure about a property is a liability, so answers come strictly from the agency's listings: its properties, prices and details.
  • The buyer writes in their language, and the answer comes back in it.
  • Every conversation has to leave a trace: what was asked, what was answered, and how far it went.
  • WhatsApp is only where the conversation starts. The agency's work is run from its dashboard.

How I approached it

The product is not the reply. It is the sorting. Every enquiry that arrives is measured on its writer's intent: what they ask, about which property, how they move through the conversation. Then it is ranked into one list, so the start of the day belongs to the highest intent, not to whoever's message arrived first.

The automatic reply exists, but it is bound: it answers from the listings the agency entered itself, at the agency's prices and details, in the asker's language. What is not in the listings has no answer.

The agency works from one dashboard: the listings, the leads, where each one stands, and what every conversation produced. WhatsApp starts the conversation. The dashboard keeps everything after it.

What it does

Every enquiry scored and ranked, and answered from the agency's own listings.

  • Every enquiry gets an intent score

    The system reads what the buyer asks and how they answer, and gives each enquiry an intent score. The score is not a verdict, but it is enough to order the queue.

  • A single ranked list

    The agent opens the day on a list ordered by intent: the ones worth calling now at the top, the curious at the bottom. No more scrolling through a queue of messages.

  • Answers from the agency's listings alone

    Every price and detail the system gives comes from the listings the agency entered. No estimating and no guessing, because a wrong figure here is a liability, not an embarrassment.

  • In the buyer's language

    The buyer writes in Arabic, French or another language, and the system replies in that language. The conversation runs in the asker's tongue, and the record stays in one place, with the agency.

  • A dashboard that shows what each conversation produced

    Listings, leads and each one's path in one dashboard. The agency sees where every buyer stands and what every conversation produced, instead of a pile of chats in a phone.

The decisions

Every one of these had a real alternative and a real cost. Both are written down.

  1. 01The call

    What is the product here: a faster reply, or a better sort?

    What I chose

    The sort. The ranking is what buys back the agent's time; the reply serves it.

    Why

    A fast reply improves the asker's experience, but it does not change the agency's day: somebody still has to decide whom to call. That decision is the product. When an agent opens an ordered list, the workday itself changes, not just the client's impression.

    What I gave up

    Sorting is harder to build than replying, and slower to convince with: an automatic reply shows off in a minute, and the value of a ranking only shows with use.

  2. 02The call

    Does the system answer from general knowledge, or from the agency's listings only?

    What I chose

    Listings only. The properties, prices and details the agency entered, nothing else.

    Why

    In real estate a wrong figure is not an embarrassment, it is a liability. A general answer can be pleasant in a chat, but sent in an agency's name it can cost a deal or start a dispute. The limits on the answer are what make the system fit to speak for a company.

    What I gave up

    Many questions fall outside the listings and get no automatic answer, and the system is only as good as the agency's discipline in entering its listings.

  3. 03The call

    A single language, or each buyer's own?

    What I chose

    Each buyer's own. The answer returns in the language the question arrived in.

    Why

    A buyer in this market may write in Arabic, in French or in something else, and may switch between one message and the next. A system that imposes a single language shuts out everyone who does not write it, and they are clients like any others.

    What I gave up

    Every rule and every limit on the answer has to hold in every language, and checking that is harder than checking one script.

  4. 04The call

    Where does the conversation live: in agents' phones, or in the agency's dashboard?

    What I chose

    In the agency's dashboard. WhatsApp starts the conversation; the record belongs to the company.

    Why

    A conversation in an agent's phone belongs to the agent: when they are away it is away, and when they leave it leaves with them. A company that does not own its conversation record does not really own its leads.

    What I gave up

    Agents have to adopt a new tool instead of staying in the app they know, and that takes convincing and habit.

How it moved through the stages

You tell me the idea

I started from the agent's day as it is: a flood of similar messages, calls going to the wrong people, a serious buyer waiting. The problem was never the missing reply. It was the missing order.

You see the real screens

I set the system on three rules: intent is measured and ranked, answers come only from the agency's listings, and the whole record lives in the company's dashboard, not in phones.

You watch it being built

I built the entry first: the listings, with their prices and details. Then the scoring and the ranking, then the reply bound to the listings and to the asker's language, then the dashboard that puts it all in front of the agency.

See all six stages in full

Built with

  • Next.js
  • TypeScript
  • Prisma
  • Neon
  • Better Auth
  • WhatsApp Business API
  • Vercel AI SDK
  • Cloudinary
  • Upstash
  • Inngest
  • PostHog

Other work

LiveMy own project2025

Hiring platform

A marketplace where hiring and freelance work run on the same four steps.

Next.js · React · TypeScript · PostgreSQL · Prisma · Neon

Read the full story
LiveMy own project

Smart booking platform

Booking for beauty centres: WhatsApp at the front, a full system behind it.

Next.js · TypeScript · Prisma · Neon · Better Auth · WhatsApp Business API

Read the full story
See all work
01 · You tell me the idea

At the same point this started from?

An idea, no technical co-founder, no obvious next step. That is the normal starting position.

Tell me about your idea