Introduction & Problem Statement
This project addresses the limitation of traditional flight search tools that prioritize only cost or speed. It offers travelers a way to discover meaningful journeys by factoring in enriching stopovers, turning layovers into mini-adventures personalized to the userβs interests.
Specifically, it helps plan trips from Melbourne (MEL) to Bengaluru (BLR) with either direct or one-stop flights, and for stopovers like Singapore, provides curated city guides including food, hotels, and attractions.
System Architecture & How It Works
The system is a multi-agent AI travel planner built using CrewAI to orchestrate modular agents:
- Flight Planner Agent: Searches for direct and one-stop flights via the Amadeus API.
- Route Evaluator Agent: Scores flight options combining cost and stopover experience aligned to user interests.
- Local Guide Agent: Generates 1-2 day city guides for stopover cities using Serper web search and fallback scraping techniques.
- User Interface: A Streamlit app lets users input trip details and interests, then displays enriched journey options.
The agents collaborate seamlessly, passing context and results to deliver both cost-effective and experience-rich travel plans.
Production-Readiness Enhancements
Testing
- Basic unit tests exist to verify agent outputs and core functions.
- Tests cover flight search responses, route scoring, and itinerary generation.
- Tests can be run using
pytest
.
Safety & Guardrails
- User inputs are validated in the UI to prevent invalid queries.
- Fallback logic ensures city guides are always generated even if web scraping or API calls fail.
- API keys and sensitive credentials are stored securely in environment variables (
.env
), with no hardcoded secrets.
User Interface
- The Streamlit UI provides an interactive form to enter trip parameters.
- Results page shows direct and stopover flight options side-by-side.
- Stopover city guides detail food, hotel, and attraction recommendations.
- Users can download their full travel plan.
Operational Resilience
- Agents have error handling and retry logic for API failures.
- Progress feedback in UI improves user experience.
- Modular codebase structured for maintainability.
- Deployment tested on Streamlit Cloud.
Documentation
- Comprehensive README with setup and usage instructions.
- Clear explanations of architecture and design choices.
- Environment variable requirements documented.
Failure Handling, Monitoring, and Deployment
- API request failures trigger retries with exponential backoff.
- Fallback city guides ensure consistent output despite external service failures.
- Logs essential steps for debugging (local logs currently; can be extended).
- Deployed via Streamlit Cloud for easy access and testing.
Summary
This project delivers a production-grade multi-agent AI travel planner that balances cost and meaningful experiences. It demonstrates:
- Effective multi-agent orchestration with CrewAI.
- Integration of real-time flight data and AI-generated city guides.
- A user-friendly UI that supports exploration and decision-making.
- Basic testing and safety features ensuring stable operation.
This system is ready to be extended further but currently provides a fully functional, deployable, and testable travel planning solution.