Support tooling

Support Triage Assistant

Paste a support ticket and Claude will classify it — category, severity, a one-line summary, a suggested first response, and whether it needs engineering escalation.

Try a sample:

Training Notes

What building this project taught me.

Split Server and Client Components at the data boundary

The page wrapper (page.tsx) stays a Server Component for metadata and layout. The form itself becomes a Client Component (TriageForm.tsx) because it needs useState and event handlers. Only the leaf that needs interactivity opts in to 'use client'.

API routes keep credentials server-side

The Next.js route at /api/triage proxies the request to FastAPI rather than calling the Claude API directly from the browser. This means the ANTHROPIC_API_KEY never reaches the client.

Streaming vs. single-shot responses are a product decision

For triage classification, a complete JSON object is easier to parse than a stream. Streaming makes more sense for long-form responses where showing partial output improves perceived speed.