๐ What it does
TravelBuddy allows users to:
- โ๏ธ Generate smart travel itineraries based on source, destination, and dates
- ๐ Get a route summary that estimates travel time by road (if in-country) or flight (if international)
- ๐ Discover attractions and restaurants near destinations (via the Foursquare API)
- ๐ค All powered by LLMs like Gemini, integrated into a smooth React frontend + FastAPI backend
๐ How we built it
Frontend:
- React + Vite for blazing-fast SPA development
- Tailwind CSS for sleek, responsive styling
- React + Vite for blazing-fast SPA development
Backend:
- FastAPI (Python) with modular route/logic separation
- Asynchronous handling and LLM prompt management
- FastAPI (Python) with modular route/logic separation
AI Integration:
- Google Gemini Pro/Flash for natural language content generation
- Custom prompt engineering for itinerary and route summaries
- Google Gemini Pro/Flash for natural language content generation
APIs Used:
- ๐บ Foursquare Places API โ for attractions & restaurants
- ๐ง Google Gemini API โ for AI-generated trip content
- ๐บ Foursquare Places API โ for attractions & restaurants
๐งฉ Challenges we ran into
๐งพ LLM response parsing
Gemini returns natural text, not JSON โ formatting the response reliably was tricky๐ซ Multiple airports per city
Estimating flights is tough when cities have several airports (e.g. New York, London)๐ฆ Weather forecast limits
Most APIs cap forecast data to 14 days โ which limits trip planning beyond that window๐ Frontend-backend sync
Async API calls + Gemini latency required careful loading state management in React
๐ Accomplishments that we're proud of
- ๐ Built a full-stack AI travel planner from scratch in under 36 hours
- ๐ง Integrated a production-grade LLM into a real-time planning tool
- ๐งฑ Designed a clean, scalable backend with reusable prompt modules
- ๐จ Built a beautiful, responsive frontend with interactive trip planning flow
๐ What we learned
- ๐ How to structure prompts for consistent LLM outputs
- ๐ธ FastAPI + async best practices
- ๐ Designing scalable frontend-backend data flows
- ๐งฉ Implementing fallback logic when APIs are rate-limited or fail
๐ฎ What's next for TravelBuddy
- ๐บ Show maps and directions between locations
- ๐ฑ Package as a mobile app or Chrome extension
- โ
Integrate live weather and local events into itineraries
- ๐งญ Let users save + share travel plans
Built With
- amazon-web-services
- fastapi
- fetch.ai
- gemini
- google-maps
- llm
- python
- react-native
- tailwind
- weatherapi
Log in or sign up for Devpost to join the conversation.