← Selected work

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.

Hosted Streamlit customer-support conversation showing a seeded invoice lookup and a simulated refund decision with structured ticket and tool-trace controls
Live website capture · 21 October 2026 · Click to enlarge

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

Architecture & tech stack

Data flow Visitor input → Customer conversation

Implementation 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.

Streamlit teaching demo · Synthetic orders · Sessions reset on sleep or restart