Inspiration
Almost 50% of all trips made by Americans in their car is for the purpose of running errands. This would equate to approximately 1,693.6 kilograms (or about 1.69 metric tons) of CO2 per year for errand-related travel for an average vehicleUpon noticing the amount of time and energy that is wasted, on a regular basis, while traveling to various places to do errands, our team wanted to develop a way to optimize a route in which people can do their errands between a start and an end destination. If people did this instead, it could lower the amount of time spent traveling thereby allowing our users more flexibility and preventing CO2 emissions.
What it does
After receiving the starting location, final destination, as well as a list of all the errands that the user wants to perform, the program finds an optimal route between the starting location and the final destination, in which the user can perform all of their errands on the way. For round trips, our code scans the are within a 15 mile radius and identifies all of the paths that satisfy all of the errand needs of our user, and for non round trips between starting location and destination, our code is able to check smaller radiuses along the path from start to destination for relevant errand locations on the way to the user's final destination, thereby satisfying the needs of our user.
How we built it
Using the findRoutes API from Inrix, our team was able to find all the possible routes that take into account the needed errand locations given by the user. Then we filtered through these routes to find the most optimal route in terms of closeness to previous node as well as final destination. Our backend was made entire with python, and our frontend was made with html.
Challenges we ran into
The main challenge that we ran into during this hackathon is dealing with so many data points in a meaningful way. Any simple solution with this many data points, more times than not, led to a solution that would end up creating a problem in the process of potentially solving the same problem. So being able to constantly redefine the specific characteristics of the data that we were searching for was challenging for us.
Accomplishments that we're proud of
As a team, we are extremely proud of the fact that we were able to take into account so many points on a map and optimize a route for our user. Managing such a large amount of data and creating something that is consistently meaningful to our users is a huge challenge that we were able to tackle, as depending on user input, even for something as simple as a one-way trip or a round-trip, the method of optimizing a route using all data points is extremely different. Going into this project all of us were barely familiar or completely unfamiliar with the usage of APIs, so picking up on a tool that was for the most part unfamiliar to us is also something that we're very proud of.
What we learned
As a team we were able to learn the amount of work that has already been done for us through API's, as well as the skill of adapting to new circumstances. As we approached this problem, the complexity of this problem became more and more apparent to us, as there are many factors that play a role in making an optimal route that we initially overlooked and then had to implement into our code.
What's next for ERRND
We believe that the full potential of ERRND has still not fully been reached, as with a more effective use of the INRIX API, the code can become much much faster and much more effective in finding probable optimal routes, and thereby reliantly suggest paths to our users in a larger radius.
Built With
- html
- inrixapi
- python
- visual-studio
Log in or sign up for Devpost to join the conversation.