At first we wanted to create a ride sharing webapp. However we realized that sharing Amtrak tickets was also feasible. We wanted to see the savings that people could achieve by sharing tickets.

How it works

Simply give us your starting point, ending point, and time. We'll show you your matched ticket sharers and savings. On the technical side, we scraped 1,500+ schedule data points off Amtrak's website and store it in a database. Then 10,000 users were randomly generated as our user base.


To find the optimal matching we created a graph of stations. Every user had a source and destination node and we used a variation of Ford-Fulkerson to determine the maxflow. We're able to find the optimal matching using our revised algorithm to minimize the total costs on Amtrak tickets.

Share this project: