TRAVEL PLANNER AGENT · SHIPPED — OPEN SOURCE
An agent that survives its own failures.
Cloud LLM APIs degrade. Rate limits hit. This agent keeps planning anyway — a custom model router and an async circuit breaker fall back to local Ollama inference mid-conversation, and the user keeps streaming.
The interesting problems
1
Deterministic memory
Agent state that replays identically, so a multi-step plan can be debugged like code, not vibes.
2
Model routing
Requests scored and routed across providers by preference, cost, and health.
3
Failure as a first-class state
The async circuit breaker detects API degradation and reroutes to local inference without dropping the SSE stream.
4
Human-in-the-loop booking
The agent plans; a human approves the spend.
Infrastructure
Runs on a k3s multi-node cluster with a full Prometheus/Grafana observability stack — because an agent you can’t observe is an agent you can’t trust. FastAPI backend, Streamlit front, retrieval pipeline behind it.
Proof
Code: github.com/Siddharthsinghkumar/ai-travel-planner-agent
SCREENSHOT — Sid to capture: Grafana dashboards during a planning session
SCREENSHOT — Sid to capture: SSE stream surviving a forced provider failure
This is how I build agents: observable, degradable, honest.