Problem
Support queues mix production outages, billing disputes, how-to questions, and marketing noise. Without a first-pass sort, SLA risk hides behind low-impact tickets.
Who it is for
SaaS support and ops teams who want a human-in-the-loop console: machine suggests urgency, intent, and reply copy; a human approves before send.
What it does
Visitors triage a sample queue. The console surfaces urgency and intent, internal notes for escalations, editable reply drafts with variants, and owner-gated paste mode plus Markdown or JSON export for handoffs.
How I built it
Same pattern as inbox triage: local embeddings and ensemble classifiers in TypeScript, client-side for instant feedback and zero API keys in public demo mode.
Tradeoff: urgency is ordinal but trained with multiple heads; high vs normal separation is still the weakest blind-test slice.
Error analysis (in-house held-out)
Internal regression only (not published as headline metrics).
Representative urgency or intent misses from the in-house eval set. Common themes: newsletter text that mentions outages, staging vs production, and feature vs account how-to overlap.
tkt-003: urgency high→high, intent technical→accounttkt-005: urgency normal→normal, intent account→technicaltkt-009: urgency high→high, intent technical→accounttkt-012: urgency normal→critical, intent technical→technicaltkt-014: urgency high→critical, intent technical→account
Next steps: environment tag parsing, separate marketing detector from incident detector, and intent tie-breakers when billing and technical signals co-occur.
Limitations and next steps
- No ticket system webhook integration in the public demo.
- Urgency ordinal errors of two or more levels still occur.
- Feature requests can be mislabeled as technical issues.