AI-Powered Live Chat
A support chat that actually works — with a human handoff that doesn't feel like failure.
Client
Confidential
Year
2025–2026
Duration
Ongoing
The challenge
A multi-tenant SaaS platform needed a live chat where every tenant's customers could get instant, accurate answers — grounded in that tenant's own knowledge, not generic AI guesses. Support teams were spending most of their time on questions their documentation already answered, while the genuinely complex conversations waited.
The AI layer had to resolve the easy questions automatically and hand off the hard ones to humans cleanly — without the frustration that usually comes with chatbot experiences, and without any tenant's data leaking into another's answers.
What we built
- Laravel-native live chat: built directly into the platform rather than bolted on as a third-party widget — same codebase, same tenancy model, same deployment pipeline.
- Tenant-isolated retrieval: each tenant's knowledge indexed as embeddings in PostgreSQL + pgvector, so the AI answers only from that tenant's own content.
- Conversation layer: LLM-powered responses via OpenAI and Anthropic APIs, with a tight system prompt and a clear "I don't know — let me get you to someone who does" escape hatch.
- Handoff UX: when the AI escalates, the full conversation transcript goes to the human agent, so the customer never has to re-explain.
- Real-time infrastructure: Redis-backed queues and events keeping conversations responsive across all tenants.
Results
- Live in production across all tenants of the platform.
- Routine questions answered instantly from each tenant's own knowledge base, around the clock.
- Human agents step into conversations with full context instead of starting from zero.
What we learned
The single biggest quality lever is retrieval, not the model. Swapping one LLM for a cheaper one changes cost a lot; improving retrieval changes correctness a lot. Most AI-support products under-invest in retrieval and over-invest in prompt engineering.
The second biggest lever is the handoff. A chatbot that confidently fails is worse than no chatbot. One that says "I'm not sure, let me get you a human" within a few seconds actually builds trust.
Technology
Working on something similar?
Send the shape of the problem. We'll tell you what it would take to solve.
Start a project