Tube Meeting Point Finder
What is this?
Section titled “What is this?”I began putting this together after my partner spent three days going back and forth with a group of friends, trying to figure out where to meet up. I’m a problem solver at heart, so though I knew this wouldn’t be something I could get done in time to help this particular scenario, maybe it would be useful in future!
The easy part
Section titled “The easy part”London’s transport network can be easily abstracted down to a graph, and having some knowledge of graph theory I knew that I would be able to find a theoretically optimal meeting point using Dijkstra’s algorithm.
I found a dataset that had tube stations, connections between stations, and the time each connection takes. It was (and is) a bit out of date without even the Elizabeth line, but that’s a solvable problem and one I could tackle later.
The hard part
Section titled “The hard part”I also knew that if this was going to have the slightest chance of being useful, having it on a website was a requirement. Unfortunately I have never considered myself a web dev!
However, I was undeterred. After spending a long time - too long - reading about JS frameworks and libraries and trying my best to figure out which one would work, I went with React. And after about a week of trying to make it work, I figured out that was actually the wrong choice, and switched to Svelte instead!
I found a library that had an implementation of Dijkstra’s algorithm, and began implementing. Unfortunately the library didn’t quite return the information I actually needed - it would return the shortest path from one point to another, but without the cost of that shortest path. And without that, I couldn’t find the best solution for all possible starting points. So I forked the library and used my own version instead!
I ran into some issues with replacing a library with my own implementation, admittedly due to my own inexperience with javascript. As a result, I put this on the backburner for a while, but this project was always something I wanted to go back and fix - and I’ve finally found time to do just that.
What does it do?
Section titled “What does it do?”At time of writing, this tool takes in a set of starting tube stations (i.e. you and your friends’ closest stations) and a set of possible stations to meet at, and calculates which end station has the lowest average travel time from each starting station. See below for future planned functionality!
Still to come
Section titled “Still to come”My to-do list with this project, as of October 2025:
Filling out the dataset with the Elizabeth line and Northern Line extension, and checking that nothing else is missing- Refactoring the algorithm more than I already have, to make the calculation a lot more optimal
- Adding a mode where you can find the optimal station to meet without having to provide a list of possible end stations
- Showing the route each person would need to take
- Adding line changeover time into the calculations
- Showing alternative meeting points and associated routes
- And more…