INITIALIZING — PROSPECT ENGINE

000

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.

K3S MULTI-NODE·CIRCUIT-BREAKER FALLBACK·SSE 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.

Model Routerscores by cost/healthCloud LLM APIsCircuit Breakerdetects degradationLocal Ollamafallback inferenceSSE Streamnever dropsClientk3s multi-node cluster · Prometheus/Grafana · FastAPI

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.