Inspiration

My girlfriend has never been in London. As we plan to visit this city, I told her that we would do a bike ride through the city. Unfortunately, finding the best route was not as easy as I thought. First, what should you visit if you are in London for the first time and secondly, what is the best way to bike through all of these landmarks? In comes BikeRouter...

What it does

BikeRouter searches for the best landmarks to visit in the city of your choice, leveraging Arctic LLM. These are then used to create an optimal route by solving the travelling salesman problem. Finally, the optimal route can be downloaded to use on your phone.

How I built it

I used langchain to create a list of landmarks to visit. Then the route between these is calculated using the Mapbox API. Finally, the route description is written again by an LLM and saved as an html.

Challenges I ran into

I ran into relatively few challenges during this project. The major challenges were:

  1. Deploying the app to my own domain. Initially, I tried to deploy to Azure, but ran into some problems. Using Railway allowed me to do this relatively easy.
  2. Having a prompt that generates a csv that can be formatted. By using langchain and setting the temperature to 0, I was ultimately able to do it.

Accomplishments that we're proud of

What I learned

Having never worked with Streamlit, it was a new experience using this. The learning curve was luckily not too steep and I can see me using Streamlit in other projects as well. Its ability to quickly prototype something in Python using the vast data ecosystem (e.g., Pandas, NumPy, PyTorch).

Working with Langchain. I have limited experience with working with langchain, during this project, I was able to learn how to leverage this framework for searching various components in the project.

Finally, I got to use Mapbox for the location data, which was an easier experience. Mapbox has improved a lot since I used it a couple of years ago.

What's next for BikeRouter

I will definitely be using BikeRouter during my upcoming trips! To improve BikeRouter, the major thing I would add is context, both on the city itself as well as on the people visiting. E.g., a family with kids might want to do other landmarks than a couple.

Finally, I want to use some of my learnings from BikeRouter to other projects, focused on the Real Estate market.

Built With

Share this project:

Updates