Inspiration

We were inspired by the breadth of data available to us through the INRIX APIs, and we wanted to make a project that focused on helping end users achieve a good balance of convenience and cost for their trips as well as promote more sustainable lifestyles regarding transportation. We also wanted to make something that is scalable in the sense that it could eventually be largely applied to city-wide projects/simulations to help cities and companies bridge the gap between sustainable and affordable transportation.

What it does

Our project compares the costs and estimated time to make a trip by means of a car versus public transportation. Out goal is to help end users decide whether to they should drive or take public transportation for any given trip that they want to make. By showing the associated cost and travel times for each we make this decision easier.

Internally, these two metrics are used to generate a general 'score' for the respective methods of transportation.

How we built it

We built our project with ReactJS as the main framework. All calculations are done on the client side of our web app, minimizing the strain that would be put on a server if multiple users were to request data at the same time

Our program uses more than seven APIs. Here are a few of them:

  • An INRIX API to return our INRIX token
  • A Google API that converts an address to a geocode, which will be used later
  • An INRIX 'findroute' API call that returns the best route between two points
  • An INRIX 'routeinfo' API call that returns more information on that route

Challenges we ran into

  • We started off with next.js, and spent over 4 hours before giving up(It over complicated it way too much)
  • Our team member Devin hadn't worked with JavaScript at all, so he was learning that while programming this app.
  • We kept getting errors where we were denied access to keys, or CORS errors. These were very annoying to deal with since they weren't easily reproducible - it seemed random when they would cause the program to fail.

Accomplishments that we're proud of

  • Getting the map to embed on the screen and tracing a route over it!
  • Learning API calls, asynch functions, and parsing of JSON objects!!
  • Completing our first 24 hour hackathon!

What we learned

Devin -Learned javascript and how to work with react environment for first time -Learned how to work with APIs for the first time -Learned to to parse JSON files

Daniel -Learned how to work with APIs -Expanded knowledge of react -Gained experience working under pressure -Gained experience parsing JSON files

What's next for PubLix Transportation

There are a few obvious next steps for our project that add in the some new functionalities for a more cohesive user experience. A non-exhaustive list would be adding in the ability to track multiple different destinations, analyzing parking data at all destinations, compare route times for public and private transport for multiple destinations, and adding in a field for desired arrival time at a destination.

We believe that this project can be scaled up in many different ways. One of the primary uses that we see is in city-wide tracking/simulation to help with planning for new transportation infrastructure. The internal 'scores' that are calculated for the two methods of transportation can be aggregated through simulations or combined with other data to generate the efficiency of the private and public transportation in general along any given route. This kind of data would help city planners by showing where new investments will be most effective for the public, making decisions easier.

Built With

Share this project:

Updates