Inspiration

The problem we took as a motivation is simple: Too much time is spent searching for parking spots.

To put it into numbers:

What it does

For example, you want to go to meet a friend at the Oktoberfest and want to go by car. Usually you just would have driven there, and have tried to search for a parking spot. After realizing it's all packed, you drive off into a 20 min search for a spot, and then you would also need to walk the whole way back... Also your friend is mad at you for being late, and your time together is ruined.

BUT NOT ANY MORE: Instead, before driving there, you check out the Parkest App, and get a prediction of how long searching for a parking spot on each parking spot close by will take you. Also, we compute how much longer or shorter you will need to get to the Oktoberfest by walking. This will result in a calculated saved time. Nice! Also, your saved time is collected in a nice to optimize metric, making saving time more fun.

How we built it

Frontend:

Our Frontend is written in React, and we use the Google Maps API to create nice graphics and compute the driving and walking routes.

Backend:

A FastAPI in Python, using a Postgres DB with GIS as our data store. For our Machine Learning Model, we use Scikit learn.

Prediction Engine:

We are using three datasets from the Munich's Opendatasets. Namely:

  • Car parks data set
  • P+R Parking garages
  • The Prediction data set of Occupancy of P+R Parking garages And we used that to train our model on predicting occupancy in different areas of the city. As our model, we are using a Random Forest for Time Series Forecasting, which are great at making sense with only little training data.

Challenges we ran into

The biggest problem is the scarcity of publicly available training data. We couldn't find anything, therefore we had to approach the challenge more creatively. We took a shot on generating synthetic data out of the data we have, but also tried generating new training data by simulating typical parts of cities, and to use other techniques to make the most of our data. But still the quality of such a service heavily depends on the quality of data, and this is data the city of Munich should be able to collect fairly easily, through their HandyParken app and the Parkautomaten. Why not provide us an API then?

Accomplishments that we're proud of

  • Designing and implementing our own Machine Learning prediction pipeline, tailored to this use case.
  • Implementing a fairly Novel and valuable app idea for people in Munich
  • Integrating the Google Maps API and functionality into our app
  • archiving most of the goals that we set ourselves in this short time period

What we learned

A lot! Here are a few examples:

  • Frontend is NOT fun
  • Acting and iterating fast can be better than overthinking an idea
  • You can get an MVP quite quickly
  • How to do Time Series Forecasting

What's next for Parkest

  • Implement Gamification and Competitions to let you compete with your friends on saved time
  • Benefits system of coupons for high amounts of saved time to incentive usage
  • Include pricing and booking functionality
  • Optimise and extend our prediction pipeline to archive more precise estimations
Share this project:

Updates