- ERP & CRM
Built in
Three salespeople on one number, two prices for the same customer
A conversation belongs to one salesperson, and the follow-up leaves in time.
The problem
An artisan jewellery boutique in Morocco sells from a single WhatsApp number. Three salespeople answer from their own devices: two of them send the same customer two different prices, a piece reserved by one is sold by another, and a customer who says « I will tell you tomorrow » is never followed up.
What I built
An internal console installed at the shop. A shared queue gives one salesperson an exclusive lock on a conversation, with an expiry so a closed tab never freezes a thread. Catalogue and stock, pending negotiations that escalate on their own, orders with deposits, and a supervisor view of the day. Text, images and voice notes go out through the WhatsApp provider, voice re-encoded server side.
Technical details
- Exclusive lock per conversation, held by a lease that expires
- Follow-up reminders capped by the WhatsApp 24 hour service window
- Voice notes re-encoded server side to the format WhatsApp accepts
- Live updates over a server-sent event stream, filtered by role and scope
Stack
- React 19
- Fastify 5
- SQLite
- SSE
- Zod
- Playwright
The result
The desk is in service and measured on real traffic. 310 unit tests pass, and 67 end-to-end scenarios cover concurrent pickup, stock, escalation and a provider outage.
A similar project in mind?
Tell me about your business and when you need it. You get a proposal by email.