Property Enquiry Chatbot
Property enquiries arrive at midnight and go cold before anyone reads them.
Outcome: Multi-turn context retained — a changed requirement reshapes the suggestions
- Build time
- 2 days
- Year
- 2025
- Client
- Concept build — real-estate scenario
- Engaged for
- AI Automation · Conversational UX · Lead Qualification
- Timeline
- 2 days · 2025
- Built with
- GPT-4 · React · WebSocket · MongoDB
Overview
A conversational agent for property enquiries that describes matching listings, asks the qualifying questions a salesperson would, and offers to book a viewing — holding context across the whole thread so a constraint mentioned late reshapes the earlier suggestions instead of resetting them.
The challenge
Property buyers browse late and enquire once. If nobody answers, they are on a competitor's listing within minutes. A scripted form-filler does not help, because the useful part of the conversation is the follow-up: a buyer who says "I want property in Ahmedabad" three messages in expects everything after that to respect it. Losing that context makes the bot worse than a plain contact form.
What we did
We built a conversational agent that describes matching properties, asks qualifying questions, and offers to schedule a viewing — holding context across the whole thread so a later constraint reshapes the earlier suggestions rather than resetting them. Replies stream over a WebSocket so the answer appears as it is written, and conversations persist so a returning buyer is not starting again.
Key decisions — and why
Context across turns, not per message
In the demo the buyer changes the city mid-conversation and the agent re-scopes its listings to match. That single behaviour is what separates a useful assistant from an autoresponder.
Always close on a next step
Every branch of the conversation ends by offering a viewing. A chatbot that answers questions without asking for the appointment is a cost centre.
Streamed replies over WebSocket
Tokens appear as they generate. A reply that writes itself out reads as fast even when the full answer takes a few seconds.
The build

Built with
- GPT-4
- React
- WebSocket
- MongoDB
The outcome
- [RESULT PLACEHOLDER — Het to add: conversations handled, viewings booked, and whether this is live with a client]
- Multi-turn context retained — a changed requirement reshapes the suggestions
- Every conversation branch closes by offering a viewing
- Streaming replies, so the wait never reads as a hang
Want something like this?
We can build your version of this in days.
Tell us the problem in a sentence and we'll come back with a fixed scope, a fixed price and a date — usually the same day.