💡 Inspiration 💡

Christmas and New Year holidays are a perfect time to spend time with your family and go on a sweet vacation! But, due to the pandemic, traveling becomes more risky and complicated. Picking the perfect destination that fits your budget is also hard.

We identified three main problems vacationing travelers had during the pandemic:

  • Budget
  • Covid Risk
  • Picking out good destination locations

We decided to make a recommender system to help with all of these. That way, you can focus on relaxing, and we'll do the hard work.

💻 What it does 💻

Safe Escape decides the best destination for you! It recommends you a city based on your budget and the description of your perfect holiday. It chooses from a handcrafted dataset of around 40 popular destination spots and provides information on each spot. This information includes COVID cases within the area, average spending within the area, and a description of the area as a whole.

🔨 How we built it 🔨

The frontend is built using HTML and CSS. The backend is built using Flask.

We built the city searching algorithm using Scikit-Learn and NLTK (Natural Language Toolkit). The city searching algorithm takes in two factors in its decisions, the budget of the user and the description of the perfect vacation for the user. The description provided is to select an array of vacations suited for the user (via a TF-IDF Vectorizer and Cosine Similarity) and the budget is used to choose a city out of the array.

🧠 Challenges we ran into 🧠

We had a ton of trouble connecting our city-searching algorithm with our Flask backend. The errors we had were not covered by StackOverflow particularly well, making our problems even harder to solve.

As for the city-searching algorithm itself, we had trouble getting the accuracy to a good point. Since we couldn’t fine-tune anything related to the description similarity, we just needed to manually find good descriptions for around 40 cities. This proved to be extremely difficult.

Our front end was also difficult as well. We had to figure out a way to render a ton of moving particles without being too distracting to the users or covering up information too much. We solved this by making the snow particles travel down faster, and making them white, so as to not block the black text.

We eventually fixed all errors though and made a successful backend combined with an elegant frontend.

🏅 Accomplishments that we're proud of 🏅

We're proud of a lot of things, these are the main ones:

  • Coming up with and implementing a useful idea for families traveling over the holidays
  • Devising a city-searching algorithm that works with lightning speed
  • Creating a beautiful UI that is in line with the theme
  • Finding the motivation to pull an all-nighter on Christmas :)

📖 What we learned 📖

We learned a lot of things. First, we learned how to create a Flask backend with minimal experience beforehand. We also learned how to combine different natural language processing algorithms to create a more versatile and powerful algorithm.

For the frontend, we learned how to implement a snow-falling animation without making the information hard to read and being too distracting to the user.

🚀 What's next for Safe Escape 🚀

We really want to implement more cities within our dataset. This will help the app have more versatility across continents and countries. Currently, around a quarter of our dataset is within the United States, making it not as useful to people outside of the US.

We also want to add more information regarding each city, stuff like travel requirements and travel options are great ideas that we had initially but were scrapped because of the timeframe.

Share this project:

Updates