Inspiration
On Friday night, a few of our team members got dinner at a food truck and we thought, "how did they figure out such a good place to park.” Nick’s parents are Subway franchisees, and over the years as they have grown their business, the importance of location has become ever more clear. With a food truck the importance of this issue is only amplified as trucks cannot always rely on traffic created by businesses co-located with them. We witnessed this issue when we visited a local fried chicken truck late at night, and with this, we knew we had an idea that we were not only passionate about, but could help thousands in California alone. Yesterday, we realized that we could develop a commercial solution utilizing Inrix's API calls to help food truck owners quickly find the best places to park and set up shop in real-time. We wanted our mobile app solution to make it easy for business owners to optimize their earnings by finding an optimal parking spot."
What it does
Our app uses the on-street parking, Inrix blocks API, to generate areas with available parking given a target area. A backend algorithm parses all possible parking in the area to yield a list of streets with optimal availability and traffic flow and ranks them using our sorting algorithm. The user can choose a parking area from the list of our algorithm’s selections, which will then direct the user to the location using an embedded Google Maps.
How we built it
Our backend was developed using Javascript in VSCode. This code fetches our parking space information using the Inrix blocks API, which is then parsed to isolate the metrics that we are using to sort parking areas. We wrote a sorting algorithm that will sort and rank these parking areas based on these metrics including the distance from the user and the probability of claiming a parking spot on the given street. When the blocks API is called, our Javascript file ranks parking areas and this information is then turned into .json file before being hosted on a local server. We built the front end using Java for the Android app configuration with Android Studio. Our Java code fetches data from the parsed .json file and displays it for the user as a list. The language behind the GUI is XML. Through constraints and views, XML brought our app and the Inrix data to life.
Challenges we ran into
Java was not ideal for what we needed to do. Shocker. Shout out all the Inrix engineers who gave us side-eyes when we said Java. All jokes aside, transferring our data from Javascript to Java was a real headache. As well, the trips API, one of the more useful data points for deciding a location, was not working and parsing through the raw CSV files provided by Doug proved to be to ambitious for our experience. We considered using other alternatives, but at the end of the day, it would be temporary code that did not accomplish what we wanted it to.
Accomplishments that we're proud of:
Coming from 0 API knowledge, we got an API query program working and were able to locally host our .json files to fetch to not only parse this data, but write a sorting algorithm that would tailor the data to our needs. Additionally, we didn’t know how to cointegrate our Javascript-generated file with our Java UX code, but after many hours, we finally figured that out using a locally hosted API to update our sorted parking-area list in real time. This would be the bridge between our Javascript backend and Java front end as we are able to use our Java code to fetch the sorted list produced with our Javascript file.
What we learned
We learned a boatload about APIs as none of us had experience with APIs prior, but now we know enough to call an API, parse data returned by the API, and use it in an app! We learned quite a bit about how to sync data between Java and Javascript environments.
What's next for FoodEx
If given the opportunity, we think that Inrix’s Volume API would be a great addition to the data our sorting algorithm uses because we could more accurately recommend parking areas based on traffic flow in the area. Higher volume areas with sufficient parking infrastructure would obviously be preferred, and we can reference historical volume data to predict future parking spots, such as outside of social establishments and concert venues. Additionally, if the “Trips” API was up during the event, we 100% would have integrated it within our sorting algorithm.
Assuming the app gets used, a “sister” app could be released that uses the locations of the trucks for “foodies,” thus increasing the visibility of the trucks. With more On top of this, we could add monetization this way through a slight commission. If FoodEx gets so popular that it is sought after, we could also possibly make the app a subscription.
We could also add user feedback through a rating system, but this would be a long term project due to no current data. The user feedback would be incorporated into the sorting algorithm to add an additional parameter to rank different spots.

Log in or sign up for Devpost to join the conversation.