An integrated support platform that combines AI chat, human support, ticketing, and a website-aware knowledge base.
Ticket Classifier is a full-stack helpdesk system with:
- An embeddable chat widget for AI + human support
- A ticketing and agent dashboard
- Website-specific knowledge base crawling and indexing
- Vector search to ground answers in your content
| Dashboard | Tickets |
|---|---|
![]() |
![]() |
| Knowledge Base | Chat Widget |
| --- | --- |
![]() |
![]() |
| Demo Site | Analytics |
| --- | --- |
![]() |
![]() |
backend/API, crawling, and vector indexingfrontend/agent dashboard (React)dashboard-demo/demo site that embeds the widgetchatbot-package/embeddable widget package (builds todist/)
- Node.js + npm
- MongoDB (for tickets, users, and config)
-
Backend
cd backendnpm installcp .env.example .env- Set
MONGODB_URIin.env(required) npm run db:setupnpm run dev
-
Frontend
cd frontendnpm installnpm run dev
-
Widget package
cd chatbot-packagenpm installnpm run build
Backend API base URL (default): http://127.0.0.1:5000/api
Knowledge Base (per website)
- Each website has its own vector collection and stats.
- Crawls add pages to the same website knowledge base (they do not replace it).
API Key vs Widget Key
- API Key is used for AI chat and selects which website knowledge base to query.
- Widget Key is used for human support sessions.
- The widget package can auto-fetch a widget key from the backend using your API key.
In the dashboard-demo/ UI:
- Use API Base URL (example:
http://127.0.0.1:5001/api) - Paste the API key from Knowledge Base → Deployment
AI replies append a References section when sources are returned from the backend.





