WhatsApp-native AI · Case study
Invisible CRM
Invisible CRM is a CRM for the owner of a Beirut real-estate brokerage that fills itself from the way he already works. He forwards client messages and voice notes, in English, French or Arabizi, and the system saves who the client is, whether they are buying, selling or renting, where, and the budget. Then he asks it questions in plain words.
- When
- Apr — Sep 2026
- Stack
- PostgreSQL + pgvector · Whisper speech-to-text · Claude (gated) · Python MCP server
The challenge
The owner runs the brokerage from his phone. Clients reach him on WhatsApp, in texts and voice notes, in English, French and Arabizi, sometimes all three in the same week. A CRM that asks him to stop, open another app and fill in a form would never be kept up to date. The design rule was that he would not change how he works or set anything up.
What I built
- He forwards a client message or voice note, exactly as he already does. Voice notes are transcribed, and the assistant saves a client record: name, buying / selling / renting, area, bedrooms, budget and timing
- It records only what was actually said. "shu fi 3andak b Jounieh?" is saved as a Jounieh buyer with no budget, because none was given
- When a client comes back with "make it 3 bedrooms, up to 300k", the existing record is updated rather than duplicated, and a nightly check merges duplicates and normalises phone numbers
- He asks in plain words, Arabizi included: "who is selling right now?", "meen badou yest2jer?", "who has the biggest budget?". Answers cite the messages they came from
- When a new listing comes in, he can ask which clients fit it; open requests are scored on area, property type and budget
- A daily digest of scored leads, flags on clients who have gone quiet, and closings and commissions recorded with a monthly report
Highlights
- Forward a message or voice note, and the client record fills itself
- Plain-word questions, Arabizi included ("meen badou yest2jer?")
- Updates existing clients, with no duplicates
- Listing-to-client matching by area, type and budget
- Client list stays with the owner; encrypted backups
Why 'invisible' is the point
Most CRM projects fail at adoption, not engineering. A busy owner won't keep a second app current, so this one has no screen to learn. The only interface is the chat he already uses: forward, then ask. Everything else (capture, deduplication, matching, follow-up lists) happens behind it.
Real examples, sample clients
"Bonjour, je vends mon appartement a Dbayeh, 3 chambres, 450 mille dollars" becomes a seller: 3-bedroom apartment in Dbayeh, $450,000. "mar7aba, badi est2jer studio b Hamra, 7awale 700 bil shahr" becomes a renter: studio in Hamra, $700 a month. Asked "what is Sami looking for now?", it answers that he started at a 2-bedroom in Achrafieh around $250k and later moved to 3 bedrooms up to $300k, citing both messages. (These are the test clients used to demonstrate the system, not real data.)
Privacy by design
The client list stays in the owner's hands: storage, speech-to-text and search run on infrastructure he controls, not a shared cloud CRM. The AI model is used only to read messages and write answers, behind a switch that stays off unless approved. Backups are encrypted.
My role
Scoping, build, deployment and handover, end to end, working directly with the owner. The system is maintained after launch.
Delivered result
Delivered and handed over in September 2026. The owner keeps working the way he always has, and the client records, search, matching and reports build up behind his chats. No usage or revenue figures are published here.
Measurement note: this case study documents delivered functionality and architecture. Client-approved before/after KPIs, adoption data, and revenue impact are not measured or published here.
Want something like Invisible CRM?
Message me on WhatsApp or see all services.
Case study last updated: · Project delivered: Apr — Sep 2026