Inspiration

We noticed that delivery workers—from FedEx and Amazon to Uber Eats—often have multiple packages or orders to deliver at once. Without an optimized plan, they may follow inefficient routes, wasting time and increasing delivery delays. To solve this, we created a website that helps them automatically plan the shortest, most efficient delivery route—saving time, reducing fuel costs, and boosting productivity.

What it does

In this demo, we assume UCI is the warehouse. The delivery driver selects all drop-off points, and our system automatically generates the shortest route. This saves time and fuel for efficient deliveries.

How we built it

We approached this as a classic Traveling Salesman Problem (TSP), where the goal is to find the shortest route that visits all selected points and returns to the starting location. First, we used the Melissa API to retrieve detailed address data, including latitude, longitude, residential or business status, and MAK (Melissa Address Key). Latitude and longitude gave us the precise geographic coordinates for each location. To calculate the distance between every pair of points, we used the GeoPy library, which applies the Vincenty distance formula—a method that calculates distances on an ellipsoidal model of Earth, offering better accuracy than spherical approximations. After building a distance matrix with these pairwise distances, we applied a TSP algorithm to determine the most efficient delivery route. Finally, we used the Folium library to create an interactive web map that visualizes both the delivery points and the optimized route.

Challenges we ran into

One of the biggest challenges we faced was working with the Melissa API. During testing, we unintentionally used up a significant amount of API credits while figuring out the required fields and proper formatting for requests. Additionally, we encountered delays while waiting for the server to issue our license key. To complete the project with a larger dataset, we ended up using not only our team’s credits but also those generously shared by friends. Despite our efforts, some addresses still lacked complete or accurate location information, which limited a few results in the final output.

Accomplishments that we're proud of

We’re proud to have completed this project in just one day. Despite facing several challenges—like limited API credits and long wait times for license activation—we stayed motivated, supported each other, and kept pushing forward. We continuously tested and refined our code to achieve the best possible result, and we’re proud of the teamwork and persistence that made it all possible.

What we learned

We learned how to use a license key to access and retrieve data from an API and how to apply Python libraries to solve real-world problems like route optimization. Most importantly, we realized the power of collaboration—this project wouldn’t have been possible without teamwork and shared effort.

What's next for Traveling Student Problem

In the future, we plan to develop the website into a more user-friendly platform so that people in broader regions can benefit from it. This tool can assist not only delivery drivers but also local residents—by providing more accurate delivery time estimates, people can avoid waiting at home all day only to miss a package shortly after stepping out.

Built With

Share this project:

Updates