Ian Greenough

Founding Product Engineer
← Back to projects

Agentic Travel Planner

I built this project to demonstrate agentic tool-use loops, a pattern useful for any multistep process that requires live data. Users describe a trip in natural language ('Plan a week in Barcelona for two, $4,000 budget'), and Claude autonomously makes 3 to 8 sequential tool calls per turn to search live flight, hotel, and experience APIs.

The agent reasons about budget constraints using a dedicated server-side calculation tool (preventing LLM math errors) and assembles a complete itinerary. All progress streams to the frontend via Server-Sent Events, showing each tool invocation in real time with animated progress indicators.

I implemented two-tier caching (Redis hot cache with 1-hour TTL, PostgreSQL cold cache for persistence), full conversation persistence for multi-turn refinement, and production-grade observability logging every tool call with latency, cache hit status, and error tracking.

Technologies Used

TypeScriptNext.jsExpressPostgreSQLRedisClaude APISSESerpApiGoogle PlacesRailway