Skip to content
All projects

AI case study

AI Customer Support Agent

A retrieval-backed support agent that answers from your own documentation and escalates when unsure.

Tickets auto-resolved
61%
First response
under 5s
Escalation accuracy
94%
support widget · mobile

Interface reference — rendered from the real component structure, not a stock image.

The problem

Support answered the same twenty questions daily, and generic chatbots invented policies that did not exist.

The solution

Answers grounded in indexed help-centre content with citations, a confidence threshold, and a clean handoff to a human when the answer is not in the corpus.

Hard parts

Preventing confident wrong answers. Every response must cite retrieved chunks or refuse and escalate.

Outcome

First-response time dropped sharply while escalations kept the human tone customers expect.

Technology used

  • OpenAI
  • Supabase pgvector
  • Next.js
  • TypeScript

How it was delivered

  1. 01Client problemRepetitive tickets consumed the small support team's day.
  2. 02ResearchClustered six months of tickets to find what could safely be automated.
  3. 03PlanningRetrieval-first design with a hard refusal path — no answer without a source.
  4. 04WireframeWidget states: answering, cited answer, escalated, offline.
  5. 05Developmentpgvector embeddings, streaming responses, transcript logging for review.
  6. 06TestingAdversarial prompts and a held-out ticket set scored against agent answers.
  7. 07DeploymentShipped behind a feature flag to 10% of sessions before full rollout.
  8. 08ResultsMajority of routine tickets resolved without a human touching them.

Lessons learned

A confident refusal is more valuable than a plausible guess. Users forgive 'I'll get a human' instantly.

More case studies