Class Projects - Spring 2015


An itinerary builder that learns from your preferences.

This is "TravelBot Demo" by Northwestern U. Knight Lab on Vimeo, the home for high quality videos and the people who love them.
What it does

Travelbot is an online tool that creates a personalized, 2-day travel itinerary for the city of Chicago by utilizing user feedback.

How it works

Each place in our database has its own set of tags (e.g., ‘Sports’ or ‘Outdoors’), and when a user clicks the “I LOVE it!” button when a place is displayed, our algorithm will recommend places based on similar tag sequences.

Key Technologies

- Scraped web for location images and urls using urllib2 python package

- Stored place info in MongoDB database

- Name, image link, description, tags, time tags, and site url

- Backend: NodeJS

- Scores places based on user preferences. When a place with particular tags is liked by the user, other places with those tags are more likely to be selected. The score of a place is the sum of the scores associated with each of the tags. The score of a particular tag will be incremented when the user selects an event with that tag. Higher scored places will have a higher probability of being presented to the user next.

- Frontend: AngularJS

- Present places to user with title, description, and image

- When a place is ‘liked’, it is added to the itinerary on the bottom of the screen and the marker is left on the map.

- When a place is ‘disliked’, the marker will be removed from the map and the itinerary will be unchanged.

Next Steps

In the future, the application will be expanded to cities worldwide so that users can create an itinerary for any city in the world. The recommendation algorithm should also learn the user’s preferences more accurately and quickly. We would like to add filters, so that users can filter places by prices, distance, and dates. Lastly, we should add a reservation feature so that users can reserve tickets to shows and games or make reservation at restaurants


A working app is available at

Brittany Magee, Craig Olson, Jeanette Pranin, Ornella Hernandez, Sachin Lal