Skip to content

ArjunO-008/SupportIQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

SupportIQ

AI + Human Customer Support System

SupportIQ is a full‑stack customer support platform that combines an AI assistant with a human escalation workflow and an admin dashboard. It was built as an experiment in AI‑assisted ("vibe") coding, focusing on real‑world system design, integration, and debugging while using AI tools (ChatGPT & Claude) to accelerate implementation.

View Site

Site Preview


✨ Features

User Side

  • AI powered chat support (Gemini)
  • Product issue matching from database
  • Context‑aware conversation memory
  • Human escalation with phone number capture
  • Rate limiting & request validation

Admin Side

  • Secure admin login (dummy credentials for demo)
  • View open escalation tickets
  • View full chat history & user phone number
  • Start fixing → submit human solution
  • Resolve ticket & auto‑create knowledge base entry

System Capabilities

  • Ticket lifecycle: Open → Assigned → Resolved
  • Keyword extraction from conversation
  • Automatic knowledge base growth (ProductIssue collection)

🧰 Tech Stack

Frontend

React (Vite),Axios,React Router

Backend

Node.js,Express,MongoDB + Mongoose,Gemini AI


🧠 System Design Overview

SupportIQ is designed around three main subsystems:

  1. AI Chat System
  2. Ticket & Escalation System
  3. Knowledge Base (Auto‑learning)

1️⃣ AI Chat System

Flow

  1. User sends message from frontend
  2. Backend receives /api/chat
  3. Relevant ProductIssues are fetched from MongoDB
  4. Conversation memory + DB context is passed to LLM (Gemini)
  5. AI generates structured support response
  6. Response is returned to frontend

Key Design Points

Context injection using: conversation memory, matched product issues, rate limits, Fail‑safe handling when AI is unavailable


2️⃣ Ticket & Escalation System

Escalation Flow


User Chat
   ↓
Clicks “Need Human Support”
   ↓
POST /api/support/escalate
   ↓
SupportTicket created
   ↓
Admin Dashboard lists ticket

Duplicate Protection

One active ticket per sessionId

Backend validation prevents duplicate escalations


3️⃣ Admin Workflow System

Admin Dashboard Flow

Login → View Tickets → Show Details → Start Fixing → Submit Solution

Resolve Ticket Flow

Admin submits solution
   ↓
POST /admin/tickets/:id/resolve
   ↓
Create ProductIssue entry
   ↓
Mark ticket resolved
   ↓
Remove from open list

This allows the AI to automatically learn from human solutions.


🔑 Keyword Extraction Design

Keywords are generated on the backend using a text‑based extractor:

Combine chat history + issue summary Normalize text Filter short words Store keywords in SupportTicket Admin UI uses keywords to generate short headings: ["headphones", "bluetooth"] → "Headphones – Bluetooth issue" This avoids frontend guessing and ensures consistency.


🧪 AI‑Assisted Development Notes

This project was built using AI tools as coding assistants: ChatGPT, Claude

Real challenges faced: Framework mismatches in generated code, Incorrect library usage, Context loss in long AI conversations, Integration bugs between frontend and backend, Reliance on official documentation to fix issues

Key learning:

AI accelerates development, but system design, debugging, and engineering judgment remain essential.


About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors