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 storyThe first call goes to the buyer who means it
Every enquiry scored and ranked, and answered from the agency's own listings.
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.
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.
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.
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.
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.
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.
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.
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 sort. The ranking is what buys back the agent's time; the reply serves it.
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.
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.
Listings only. The properties, prices and details the agency entered, nothing else.
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.
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.
Each buyer's own. The answer returns in the language the question arrived in.
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.
Every rule and every limit on the answer has to hold in every language, and checking that is harder than checking one script.
In the agency's dashboard. WhatsApp starts the conversation; the record belongs to the company.
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.
Agents have to adopt a new tool instead of staying in the app they know, and that takes convincing and habit.
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.
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.
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.
A marketplace where hiring and freelance work run on the same four steps.
Next.js · React · TypeScript · PostgreSQL · Prisma · Neon
Read the full storyBooking 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 storyAn idea, no technical co-founder, no obvious next step. That is the normal starting position.
Tell me about your idea