Two ways chatbots fail
The old way: a rigid decision tree that cannot answer anything you did not anticipate, so customers spell out "AGENT" in increasingly annoyed capitals.
The new way: a language model with no grounding, which confidently invents a refund policy you do not have. This is worse, because now you have to honour it or argue with a customer holding a screenshot.
Grounding is the whole game
We build on retrieval. Your documentation, policies, product data and past tickets are indexed. When a question arrives, the system retrieves the relevant material and answers from it, citing what it used.
When the answer is not in your material, the bot does not improvise. It says it does not know and hands over to a human, with the full conversation attached. Customers forgive a bot that does not know. They do not forgive one that lies.
Vector search architecture with Supabase and pgvector
For retrieval-heavy deployments where PostgreSQL fits the architecture, we can store document embeddings in Supabase/PostgreSQL with pgvector. A user question is embedded, matched against the most relevant document chunks through vector search, and only that retrieved context is passed to the language model. This keeps answers grounded in your own source material rather than relying on model memory.
Human-in-the-loop escalation
Human-in-the-loop escalation stays part of the workflow. If the system cannot retrieve strong enough evidence, encounters an exception, or reaches a decision that should not be automated, it hands the conversation to a person with the relevant context attached instead of guessing.
Where it runs
- Web widget on your site, matched to your design.
- WhatsApp, which is where a lot of Australian SME customers actually are.
- In-app, inside your own product.
- Internal, answering staff questions about your own processes.
The internal use case is underrated
Most people think of chatbots as customer-facing. Some of the highest-value deployments we have seen are internal: a bot that knows your policies, your systems, and your history, answering staff questions that would otherwise interrupt someone senior. Lower risk, faster payback, and it builds trust before you point it at customers.