AI Travel Agent
Tagline: A conversational, end-to-end trip planner that finds flights, hotels, restaurants and attractions, builds day-by-day itineraries, and delivers booking-ready confirmations via email.

Project Summary
The AI Travel Agent is a modular full‑stack system that converts natural‑language conversations into actionable trip plans. In a single chat flow users provide destinations, dates, traveler counts and preferences; the agent then aggregates search results (flights, hotels, restaurants, attractions), ranks options, and composes day‑by‑day itineraries tailored to user constraints.
The prototype emphasizes a streaming conversational UX so results appear incrementally while background tool modules (flight/hotel/places/weather adapters) fetch and normalize data. When ready, itineraries can be reviewed in‑app and delivered as booking‑ready confirmation emails.
Goals & Value
- Fast, conversational planning with clarifying follow-ups.
- Aggregate and normalize multi-source travel data.
- Produce actionable day-by-day itineraries and booking links.
- Provide a modular platform for adding providers and tools.
Key Features
- Conversational planning with follow-up clarification.
- Streaming AI output for incremental, responsive UI.
- Server-side multi-source search (flights, hotels, TripAdvisor, maps, weather).
- Automatic itinerary generation and optimized routing.
- Email delivery using HTML templates and Gmail/Nodemailer tooling.
- Composable, testable tools under lib/ and cache/tools.
Technical Implementation
Frontend: Next.js with TypeScript and Tailwind CSS; React components under `app/` and `components/`.
Server/API: Next.js API routes orchestrate searches and itinerary generation. The AI orchestration lives in `lib/ai/` with streaming helpers and LLM integration. Tool adapters for flights/hotels/tripadvisor/weather live in `lib/tools` and `cache/tools`.
Architecture Overview
- User interacts with the chat UI.
- Messages post to server routes and pass to the AI orchestration layer.
- AI calls specialized tool modules (flights, hotels, TripAdvisor, weather).
- Responses are normalized and composed into itinerary objects; streaming keeps UI responsive.
- Final itinerary can be rendered and sent via email using the `email/templates` system.
Gallery
