TripTailor is an AI-powered travel planning assistant that creates personalized itineraries tailored to your preferences. Simply describe your dream adventure, and TripTailor will generate a detailed plan, complete with recommended destinations, travel times, opening hours, and even lunch breaks β so you can focus on enjoying your trip!
Hereβs how TripTailor works:
- The user provides a text prompt describing their ideal trip (with as much or as little detail as they want).
- They can also apply filters for budget, travel dates, and other preferences.
- This information is processed by the AI pipeline, which:
- Identifies user preferences.
- Brainstorms destination ideas.
- Fetches relevant data from Google Maps.
- Generates a final, polished itinerary.
- Personalized Travel Itineraries: Generates customized plans based on budget, travel dates, and preferences.
- Real-Time Data Integration: Fetches live information from APIs like Google Places.
- In-Depth Analysis: Considers distances and travel times to optimize your itinerary.
- Itinerary PDF: Download a PDF version of your personalized itinerary.
- AI Pipeline: LangChain, OpenAI API (to be replaced with open-source), Google Places API
- Backend: Python, Flask, Redis (session data storage)
- Frontend: HTML, CSS, JavaScript, Bootstrap, Leaflet (map integration)
- Deployment: Docker, Heroku
The AI pipeline follows these steps:
- Extract Preferences: Analyze the userβs input to identify travel preferences.
- Generate Destination Ideas: Brainstorm potential destinations based on the extracted preferences.
- Create Itinerary: Design a detailed travel plan, including activities and timings.
- Populate with Data: Enhance the itinerary with links, photos, and real-time data from Google Places API.
βββ LICENSE <- Open-source license if one is chosen
βββ Makefile <- Makefile with convenience commands like `make data` or `make train`
βββ README.md <- The top-level README for developers using this project.
βββ data
β βββ external <- Data from third party sources.
β βββ interim <- Intermediate data that has been transformed.
β βββ processed <- The final, canonical data sets for modeling.
β βββ raw <- The original, immutable data dump.
β
βββ docs <- A default mkdocs project; see www.mkdocs.org for details
β
βββ models <- Trained and serialized models, model predictions, or model summaries
β
βββ notebooks <- Jupyter notebooks for initial experiments
β
βββ pyproject.toml <- Project configuration file with package metadata for
β triptailor and configuration for tools like black
β
βββ references <- Data dictionaries, manuals, and all other explanatory materials.
β
βββ reports <- Generated analysis as HTML, PDF, LaTeX, etc.
β βββ figures <- Generated graphics and figures to be used in reporting
β
βββ requirements.txt <- The requirements file for reproducing the analysis environment, e.g.
β generated with `pip freeze > requirements.txt`
β
βββ setup.cfg <- Configuration file for flake8
β
βββ Procfile <- File defining how to start the app for Heroku
β
βββ triptailor <- Source code for use in this project.
β
βββ __init__.py <- Makes triptailor a Python module
β
βββ etc/defaults.cfg <- Store useful variables and configuration
β
βββ logger.py <- Initialized logger
β
βββ main.py <- Starts up the application
|
βββ routes.py <- Defines API routes
|
βββ templates/ <- HTML templates for Flask to render
|
βββ modeling
β βββ __init__.py
β βββ agent.py <- Class defining the pipeline of LLM calls
β βββ data_schemas.py <- Contains desired output format for the LLM calls
β βββ inference.py <- Class running a pipeline to generate itinerary
β βββ prompts.py <- Contains prompt templates used to form an LLM request
β βββ itinerary_example.json <- Sample itinerary used when debugging
β
βββ static/ <- CSS and JS files for the frontend
- Python 3.12.0
- Redis Server (for caching)
Create .env
file and add the relevant API keys and your Redis server url. Use env_example.txt
as a template for your env file.
-
Install Poetry if not already installed:
pip install poetry
-
Install dependencies:
poetry install
-
Start the application:
poetry run python -m triptailor.main
If Poetry is not available, use pip
to install dependencies.
-
Install dependencies:
pip install -r requirements.txt
-
Start the application:
python -m triptailor.main
- Itinerary Redaction Tool: Allow users to modify specific parts of the itinerary with a new text prompt. For example, "Replace the museum visit on Day 3 with a beach day."
- Overall Estimated Cost: Provide a detailed breakdown of estimated trip expenses, including accommodation, transportation, and activities.
- General Info: Include useful details like currency exchange rates, time zones, common languages, and outlet types.
- Currency Selection: Allow users to input their budget in their preferred currency, not just EUR.
- Event Integration: Use APIs like Eventbrite to display local events during the userβs stay, with options to add them to the itinerary.
- Open-Source LLM: Transition from OpenAI API to a local, open-source LLM for greater independence and cost efficiency.
This project is licensed under the MIT License.
- Repository: GitHub
- Connect: My LinkedIn