Karavan - Travel Planner

Caravan clipart

Image from Classroom Clipart

Inspiration

As a team of international spirited students, travel is a large part of our lives (for business and for leisure!). Traveling to new countries is a beautiful and exciting activity, but it can often be overwhelming due to the sheer number of unknowns new travelers face.

  • Where are the best places to visit?
  • What activities will fit my budget?
  • What events and activities will help me get the best experience for me?
  • How can I connect with locals to learn about the country's culture and make lasting friendships?

Our goal is to help prospective travelers make lifelong memories by condensing the monumental volume of travel information into a personalized plan through accessible interaction. We believe that this accessibility can come from good UX design and the ability to use NLP to walk the user through the website, much as a travel agent works with customers to design their travel plans.

When it comes to travel, there are plenty of guides and blogs written on every corner of the world, but these are rarely personal, usually focus on tourism, sometimes outdated, and can be time-consuming to sift through. Our website focuses on cultural exchange by creating a personalized travel plan that connects users with the best local spots around the world, and we hope to do this with universally accessible and useful NLP-powered user interactions.

Gone are the days of expensive and impersonal travel itineraries!

What it does

The core of this web app is an AI-powered chatbot designed to inform users of possible activities to try and locations to visit by building a short travel plan.

Currently, this is the website's primary feature, but we have planned and prototyped several other features that can be found in the What's Next section.

Features

  • Country/City selection

    Using a database of countries and cities around the world, this website makes it easy to plan your trips! Our dropdown menu with type-to-search capability both validates the user's input and improves the user's experience with planning.

  • Length of stay selection

    By having the user specify the number of days their trip will be, we are able to create a travel plan that perfectly fits the user's time abroad.

  • GPT-4 powered travel plan generator

    Using GPT-4 for its knowledge-base and its generative abilities, we take the user's input of destination and length of stay to generate an accessible and reliable travel plan.

    In the future, we would use a more sophisticated language model, factoring in users' sentiments about different locations and activities to improve the overall quality of its recommendations.

  • Map render of the country the user has selected

    With the GeocacheNames library and the Streamlit library, our website shows a map of the selected country to help the user visualize their destination and confirm that they have selected the location they intended to select. This feedback reduces the chance for errors to go unnoticed.

How we built it

Technologies Used

Web development and hosting: Streamlit, Python

Streamlines fast web development using Python

Chatbot interface: OpenAI's GPT-4 API

Uses generative NLP and a large database of information to assist with the creation of a customized travel plan

Location selector information: GeonamesCache

Retrieves country names and city names

Prototyping the website's features and UX: balsamiq

Wireframe interface tool for UI prototyping

Process

When we started this project, we first thought about what areas we are passionate about. After realizing our passion for travel, we brainstormed different problems we face and thought of ideal tools that could solve those problems. Among these issues were:

  • Knowing what to do in the target country from a local's perspective (as opposed to a tourist-focused perspective)
  • Learning about the culture and social atmosphere of the target country
  • Learning about the practical details of a trip to another country -- currency conversion, weather, etc.
  • Discovering "hidden gems" and fun activities that are not typically advertised to tourists
  • Meeting locals and fellow travelers to share experiences with

Challenges we ran into

As we started brainstorming ideas, our project grew more and more ambitious. This is the first hackathon for three of our group members, so the short time limit was not at the forefront of our focus.

When we started developing, we realized we would need to narrow the scope of the project, so we planned a minimum viable product that would focus on one functioning feature.

To us, the most important feature is travel plan creation. Figuring out where to go and what to do -- or even knowing what options are available -- is one of the most intimidating parts of international travel. Thus, it became the focus of our website and the feature we would focus on.

We spent some time planning out the other features we brainstormed to create a vision for the future of this application. This approach allowed us to keep our development scope feasible for the hackathon while also allowing us to imagine our ideal travel helper.

Accomplishments that we're proud of

  • Connecting the OpenAI GPT-4 API to a combination of user input and predefined prompts on our website
  • Designing a multi-faceted application to solve the paradoxical travel problem of having both overwhelming choice and not knowing what options are possible
  • Completing our (mostly) first hackathon!
  • Meeting wonderful and talented students, sponsors, mentors, and friends
  • Coming together to tackle interesting issues we are passionate about

What we learned

  • We shared our knowledge of web development, each learning from each other!
    • Using Streamlit for fast and efficient web development
    • Using APIs and GPT-4 to add specialized functionality
    • Using GitHub to collaborate on this project
    • Prototyping with balsamiq
    • Improving our teamwork, work distribution, communication, and morale
    • Focusing on a small but polished minimum viable product, welcoming ambition but not at the cost of usability

What's next for Karavan

Here are the features we would like to implement next!

  • Country information
    • Sometimes users may not have a particular destination in mind, or they may not know much about a country they have plans to travel to. Providing images and information to overview different countries can help close this gap in knowledge that typically causes stress.
    • This feature would also aggregate generally useful travel information, such as climate forecasts, currency conversion, and government advisories.
  • Factoring a budget into the travel plan
    • Traveling can be expensive if not planned properly, so we would like to allow the user to specify a budget they have for the trip to further personalize their travel plan. A local restaurant or public nature trail can be both fulfilling and cost-effective!
  • Showing travel plan locations on map
    • To assist users' travels, this app will utilize Google Maps and Google Streetview to show users the location of their activities, along with a Streetview image to help them find the place in the real world.
    • Integrating with Google Maps will also make it easy for users to find directions from their current location to their planned activities.
  • User account system
    • Saves your travel plans and trip information for quick access.
    • Includes Traveler accounts and Local Expert accounts.
    • Travelers can connect with each other and form groups with Local Experts to facilitate cultural exchange. > This social-media-like feature poses security and safety risks, so we would have to consider the following: > > Protecting user location and travel plan information so that our platform cannot be used to target or harass people > > Informing users of the risks and best practices of meeting people online and in-person > > Moderating / checking user activity to keep the user base safe and prevent malicious users from causing any harm
  • Travel spot blog posts
    • All users can create posts (categorized by travel destinations) to share feedback and advice on different locations in their travels, helping users discover up-to-date and honest information about their destination.
      • As a stretch goal, with users' permission, these blog posts could be processed with Sentiment Analysis algorithms to train the Travel Plan Producer to recommend new places or avoid recommending places with negative sentiment.
  • Local expert connections
    • No one knows the area like the people who live there
    • Part of the user account system to connect users with local experts in their travel destinations.
    • Experts could host tour groups, and people could sign up to participate.

Built With

Share this project:

Updates