Triage
A pipeline that takes messy customer input and turns it into structured data: an urgency score, a category, a two-line summary. When something is urgent, the webhook and the alert e-mail go out on their own.
POST /api/v1/ingest
→ 200 · 340ms · cache miss
{
"urgency": 8,
"category": "billing",
"summary": "Card was charged twice, customer wants a refund.",
"actions": ["webhook", "email"]
}
- Made one Redis carry both the LLM cache and the per-tenant rate limits.
- A second component to rate-limit with, and a second thing to keep alive.
Java · Spring Boot · Spring AI · PostgreSQL · Redis · Next.js