Multi-Agent Customer Support
A hosted Streamlit customer-support demonstration that gathers order details, routes validated tickets to billing or refund specialists, and sends eligible simulated refunds to a separate human-review queue. Customers can resume their conversation to see the decision.
Simulated refunds only. The demonstration review queue is public.
The problem
A hosted Streamlit customer-support demonstration that gathers order details, routes validated tickets to billing or refund specialists, and sends eligible simulated refunds to a separate human-review queue. Customers can resume their conversation to see the decision.
My contribution
I integrated conversational intake, structured ticket validation, deterministic specialist tools, a separate approval graph, session resume, Redis admission, and Streamlit Cloud delivery.

Product features
- Multi-turn intake compacts conversation details into a validated Pydantic ticket.
- LangGraph routes billing, refund, and general-support workflows.
- Read-only SQLite tools provide seeded invoices, payments, and refund eligibility.
- A separate approver view resolves eligible simulated refunds and updates the customer chat.
- Session resume restores conversation and review outcomes while the server process is running.
- Upstash Redis limits requests and model calls; the public demo uses synthetic orders only.
Engineering work
- Validated routing: Compact multi-turn intake into a Pydantic ticket and route it through LangGraph to deterministic specialists.
- Separate human review: Store eligible mock refund requests and resolve them through a separate approval graph invocation.
- Bounded hosted workflow: Apply atomic Redis admission around model calls and support process-local session resume with explicit restart limits.
Outcome & scope
Connects intake, specialist routing, and human review in one demonstrable workflow. Hosted checks verified a seeded billing lookup and a simulated refund review; no real refunds, response-time reductions, or support-volume metrics are claimed.
Streamlit teaching demo · Synthetic orders · Sessions reset on sleep or restart