Inspiration
The manual coordination of travel logistics is a significant challenge for consumers who must cross-reference multiple platforms to align flights with hotels. This process is often prone to errors, particularly when trying to synchronize check-in times with flight arrivals across different time zones. Consequently, this fragmented approach frequently results in scheduling conflicts, booking errors, and increased costs.
What it does
This project introduces an AI Travel Agent designed to handle complex, natural-language requests through a unified interface. The system leverages SerpAPI to aggregate real-time flight and hotel data, applying a configurable "timing rule" engine to ensure all itinerary components are chronologically sound. The architecture supports both a modern React-based UI and a robust REST/streaming API. To ensure reliability and scalability, the entire ecosystem is containerized via Docker, featuring built-in observability to monitor agent performance and system health.
How we built it
Frontend React (v19), TypeScript, Vite, CSS (Tailwind, PostCSS, ReactFlow)
UI & Styling Tailwind CSS, Class Variance Authority (CVA), Radix UI, Lucide React
Backend Python, FastAPI, LangGraph, LiteLLM, uv (Package Manager)
Containers & Deployment Docker, Docker Compose (managing UI, supervisor, agents, NATS, ClickHouse, Grafana)
Observability OpenTelemetry, Grafana, ClickHouse
A2A communication Cisco AGNTCY (A2A Protocol), NATS (Message Transport), agntcy-app-sdk
Challenges we ran into
Complex Orchestration: Managing the multi-step reasoning required for an agent to move from "search" to "validation" to "recommendation" required the use of LangGraph for structured state management.
Time Zone Synchronization: Enforcing strict timing rules across various international locales proved difficult, requiring precise handling of UTC offsets to prevent logic errors in check-in/check-out windows.
Third-Party Integration: Maintaining a stable connection with SerpAPI required robust error handling and rate-limiting strategies to ensure high availability.
System Observability: Monitoring distributed services (frontend, backend, and various databases) necessitated a centralized telemetry stack to track request flows and agent decision-making.
API Consistency: Ensuring the TypeScript-based frontend remained perfectly aligned with the Python-based FastAPI backend, particularly for streaming responses, required rigorous schema definitions.
What we learned
From this project, we learned how the A2A system works
What's next for Travel AGYNTC
For the future product, we can allow users to do a detailed search (ex. search for flights without layovers, hotel has rating over 4.5). Also, we're thinking to add purchase link so that users can purchase tickets on the same page.
Built With
- agyntc
- docker
- fastapi
- litellm
- python
- react
- serpapi
- typescript
Log in or sign up for Devpost to join the conversation.