Reference implementation · fictional customer “Orbit”

AI customer support, as a closed loop.

SupportLoop is a working reference implementation of the entire AI support lifecycle — self-service, agent assist, knowledge generation, and the operator analytics that prove it moved a metric. Built as three real workspaces, the way an actual support stack is.

Next.js 14·TypeScript·Supabase + pgvector·Anthropic Claude·Voyage embeddings·Vercel

Two sides of one system. End customers see Orbit's help center; the support team works inside the dark SupportLoop operator console. Switch roles with the toggle, top right.

The flywheel

01
Customer asks

Orbit's help center + an AI chatbot answer from the knowledge base.

02
AI self-service (RAG)

Grounded answers deflect routine questions; unknowns escalate instead of guessing.

03
Escalation → Agent assist

AI triages intent, urgency, and sentiment, then drafts a grounded reply.

04
Knowledge loop

Resolved tickets become new KB articles — AI-drafted, reviewed, published.

05
Ops dashboard

Deflection, automation rate, CSAT, volume, top intents — the business view.

06
Community Q&A

AI answers from KB and flags gaps, which feed back into the knowledge loop.

Step 6 loops back to step 4: gaps the community surfaces become the next articles the chatbot uses to deflect. That feedback loop is the whole point.

Three workspaces

Customer
Orbit Help Center

What an end customer sees: searchable help, an AI chatbot that deflects or escalates, and a community forum.

  • Help Center + AI chatbot
  • Community Q&A
Enter
Agent
Agent Workspace

What a support agent uses: a ticket inbox with AI triage, sentiment, and a grounded draft reply to edit and send.

  • Agent console + AI assist
  • Knowledge loop
Enter
Ops
Ops & Quality

What a support leader watches: the metrics that prove the AI moved a number, plus an eval harness for reply quality.

  • Ops dashboard
  • Quality / evals
Enter

How it's built

One spine, many surfaces

Every workspace reads and writes one shared Supabase schema with a pgvector knowledge base. That's what makes the loop close — a question deflected here becomes an article there. AI runs only in server-side route handlers; keys never reach the browser.

Grounded, or it escalates

Generated replies are grounded strictly in retrieved KB content. When retrieval confidence is below threshold, the system says so and hands off to a human instead of inventing policy. Tracking grounded vs. escalated is the difference between a demo and a system.

How I'd take this to production

The gap between a demo and an enterprise support-AI system is mostly the unglamorous parts. Here's where I'd invest — informed by running self-service at scale.

Real eval harness

We ship a starter one (grounded-rate over golden questions). In production: graded sets per intent, regression gates on every prompt/model change.

No hallucinated policy

Answers are grounded only in retrieved KB. Below the similarity threshold the system escalates rather than inventing a refund or security policy.

Measurement that matters

Deflection, automation rate, CSAT, and KB-from-tickets are first-class — the point is moving a business metric, not shipping a bot.

Feedback loops

Resolved tickets and community gaps become new knowledge, which improves future deflection. The flywheel, closed.

PII & safety

In production: redaction before the model sees a message, scoped retention, audit logging. Out of scope for this demo's fictional data.

Human in the loop

AI drafts; humans approve. KB articles never auto-publish; agent replies are editable before send.