Broker WhatsApp chatter, turned into a clean listings table
A pipeline that reads a day of broker WhatsApp messages, understands Hindi and Marathi number words, land units and local area names, and returns structured property listings ready to export.
The situation
Property brokers trade listings in busy WhatsApp groups: shorthand, mixed languages, prices written out as words, plot sizes in regional units and localities known by nicknames. Turning a day of messages into a usable inventory was slow, manual work.
Constraints we designed around
- Prices and areas are often written in Hindi or Marathi words rather than digits.
- Land units and locality names vary from one region to the next.
- Every client's data has to stay completely separate from every other client's.
What we built
Batch parsing
An uploaded chat export is filtered to the current day and split into batches of 100 messages, so even very busy groups process predictably.
A domain knowledge base
Six reference documents covering number words, land units, locality aliases and known edge cases are retrieved alongside each batch, so the model reads broker shorthand correctly.
Structured extraction
A compact model returns each listing as structured data: type, location, size, price and contact. Messages that are not listings are dropped.
Table and export
Results land in a sortable table with one-click CSV export, ready for the broker's own sheet or CRM.
Deployment
Isolated per client: a dedicated model API key and a dedicated vector collection. No data is shared between clients.
Outcomes
- messages per processing batch
- 100
- messages per processing batch
- domain reference documents in the knowledge base
- 6
- domain reference documents in the knowledge base
- keys and collections per client, never shared
- 1:1
- keys and collections per client, never shared
Stack
- n8n
- Qdrant
- GPT-4o-mini
- Structured outputs
- CSV export