What we liked about this challenge was the level of preparation by the people running the workshop (and how friendly and approachable they all were!) and the broad scope of what could be done within the task. Also the video! Finally, we are just tired of waiting in traffic for a spot to open to park our cars so we decided to solve it once and for all.
What it does
It is a mobile app that helps find a parking spot in one of many parking houses across Zurich. There are two use cases:
- 1. The user is currently looking for a spot in the city and needs to know which nearest parking house is the most probable to be available. -2. The user wishes to plan ahead and would like to know probable, available parking houses near their desired location at the desired time.
How we built it
Machine Learning(Anna): Our main goal was to have a model to predict which parking house will be fully occupied by some time and which will be not. We were provided with a simple model predicts the occupation of one specific parking house. We decided to choose the way of improving the model itself, not the features. We collected the historical data of the availability of parking houses for the last 4 years and trained a catboost model to solve the classification task. We focused a lot of not predicting availability while the parking house is full.
Backend(Eugene): We have a Django app serving requests from mobile application and using model trained by Anna. For convenience a deployment process has been automated: the solution is packed into a docker container and deploys easily through docker-compose (in future we can do some ansible stuff). So during the development process this thing saved us a bunch of time, and also it is almost production-ready.
Challenges we ran into
No major one but many small ones along the road.
Accomplishments that we're proud of
Having completed a polished, all-round working project. Us three actually did not know each other before the hackathon and managed to really work well together!
What we learned
(Enrico) I had never used React Native so that was a new experience for me!
What's next for park.me
Connecting cameras to each park house , pointing at the street to properly gauge realtime data about how busy it is before the user arrives. Adding more features to the ML model and gauging how that changes things. Also we had a few thoughts about self driving cars and how they would impact the scope of this problem in the future - Right now we want the closest parking spot but in the future we will be dropped of and use load balancing on the different park houses via these driverless cars.