FN
Back to projects

Triage360

A multi-domain support triage system combining classification, document retrieval, risk evaluation, AI-generated responses, ticket history, and operational analytics, with a Python prototype exploring TF-IDF + semantic retrieval.

Year
2026
Status
Completed
Stack
  • Python
  • TypeScript
  • React
  • Express
  • PostgreSQL
  • Claude API
  • TF-IDF

Problem

Support requests can arrive across unrelated domains and require different classification, retrieval, response, and escalation behavior.

The system

The project includes a full-stack TypeScript application with a React interface, Express API, PostgreSQL persistence, keyword-overlap document retrieval, ticket history, and statistics views, plus an earlier Python CLI prototype using TF-IDF + semantic retrieval.

Product walkthrough

The web application running locally, using sample support tickets from the project repository.

Triage360 escalation result for a synthetic Visa fraud support ticket.
High-risk tickets are flagged for human review instead of receiving an automated reply.
Triage360 audit log showing five synthetic support tickets with domains, confidence and escalation status.
The audit log records each triaged ticket with its domain, classification confidence, escalation status and retrieved-source count, with search, filters and CSV export.

Architecture

Each ticket is classified, checked for escalation risk, and matched to documentation before a response is generated or the ticket is routed to a human. In the web application, retrieval is keyword-overlap scoring over per-domain documentation. Results are persisted so the UI can show ticket history and stats.

Engineering decisions

  1. 01

    Rule-based escalation before AI generation

    Tickets are checked against six risk categories (fraud, billing disputes, account access, platform bugs, legal or compliance, and safety-critical language) before any reply is generated, so risky cases go to a human instead of receiving an automated answer.

  2. 02

    Responses grounded in retrieved documentation

    Replies are generated from support documents retrieved for the classified domain, and the retrieved sources are stored with each ticket so an answer can be traced back to its documentation.

  3. 03

    Keeping the retrieval prototype separate from the web app

    The earlier Python CLI explored TF-IDF with semantic retrieval. The TypeScript web application uses simpler keyword-overlap retrieval over the same corpus, and the two are described separately rather than as one system.