Inspiration
It all started with a story from one of our teammates: he had set his parking disc correctly but didn’t realize he was in a ticketed zone. Result? A fine. After laughing about it together, we heard about the challenge from the Landeshauptstadt München and instantly knew we could help people navigate Munich’s confusing parking rules. Parking in Munich is chaotic, not just because of the countless specific restrictions, but because spots are scarce, especially in the city center. So we asked ourselves: what if there were an app that tells you exactly where you can park?
What it does
When users open ParkMUC, they get a clear, intuitive, and personalized overview of Munich’s parking landscape. The app focuses on simplicity and transparency, making parking decisions fast and stress-free.
What the user sees
- Interactive map of Munich with the user’s current location.
- Color-coded parking segments that show estimated availability.
- Only available and not restricted parking segments matching the filters set by the user.
Powerful filtering for personalized results Users can filter parking segments based on their specific needs, such as:
- Electric vehicle charging spots
- Disability-accessible parking
- Women-only parking spaces
- Resident permit zones (incl. selecting the exact permit zone) This ensures every user gets a tailored parking overview that actually fits their situation.
How availability is estimated Our backend is designed to integrate with city data sources. In a real implementation, availability would be estimated using:
- Sensor or camera data indicating how many spaces are currently occupied
- Ticket machine data (e.g., number of tickets sold per segment)
- Optional user feedback (0–5 rating) indicating how full a segment feels in real time. Combining these sources allows ParkMUC to give users a reliable, dynamic availability estimate.
How we built it
To develop our project, we took on the JetBrains Challenge and built most of it using Kotlin Multiplatform. Since the core idea of our project revolves around mobility, we focused primarily on mobile platforms (Android and iOS), while keeping the option open to also support web and desktop in the future.
Because our application requires data analysis and processing (tasks we did not want to handle directly on the client side) we also created a Kotlin-based server. This server is responsible for performing the data processing and thereby offloading the workload from the mobile apps.
Challenges we ran into
Building ParkMUC came with several major challenges that shaped our final concept and technical approach.
Complex map integration One of the biggest hurdles early on was integrating the map itself. Setting up an interactive map with custom layers, color-coded segments, and smooth performance took significant time and fine-tuning.
Limited data availability During the research phase, we struggled to find detailed, publicly available data from the city, especially regarding:
- Parking segment locations
- Capacity and restrictions
- Real-time availability Since no live availability data existed, we needed a realistic plan for collaboration with the city while still delivering a usable prototype.
Designing the 3-factor availability estimation This challenge led us to create a three-factor estimation model, combining:
- Sensor/camera data (mocked for the prototype)
- Ticket machine data (also mocked)
- User feedback on segment fullness (not yet implemented) This approach allowed us to simulate real-time availability in a way that could scale in a real implementation.
Modeling a complex database Another major challenge was structuring the database. Parking rules in Munich are highly detailed and vary from street to street. We had to:
- Build a model that captures all relevant restrictions
- Keep the structure efficient
- Avoid losing essential information Balancing flexibility with complexity was a key part of the technical design.
Accomplishments that we're proud of
We’re genuinely proud of what we’ve build and even more excited about what it could become with support from the city administration.
Meaningful impact for Munich We believe ParkMUC could significantly improve the quality of life for Munich’s residents. Parking is a real, everyday challenge and with our three-factor availability estimation, we’re offering a practical, scalable solution that can truly help people navigate the city more easily.
A strong technical foundation We’re very happy with how our database structure evolved. It:
- successfully handles the complex parking data provided by the city
- supports flexible, powerful filtering options to create a fully customized user experience
- transforms detailed, complicated rules into something the app can use efficiently and intuitively.
Teamwork we’re proud of We’re also proud of how we worked together. Despite limited time, we stayed consistent, determined and collaborative and managed to build something relevant for a large number of future users.
A solid start with room to grow There is, of course, still plenty of room for improvement. But we now have a strong foundation, a working concept and a clear vision. And for us that’s a great beginning.
What we learned
We learned that great ideas take time. We invested heavily in refining our concept and working through all the details, which naturally left us with less time for implementation than we originally hoped. But considering the scope of this project and the fact that a real-world rollout by the city would be a large-scale application, we’re proud of what we accomplished in under 48 hours. For such a short timeframe, we delivered a solid foundation and a meaningful vision of what ParkMUC could become.
What's next for ParkMUC
There’s so much more we’d love to build: features we planned, discussed and designed, but simply didn’t have the time to implement. Here’s what we’d be excited to work on next:
- Refining the color-coding system to make availability even easier to understand at a glance
- Expanding and improving the filter options to offer smarter, more personalized parking recommendations
- Adding a user feedback feature so the community can contribute and help each other find accurate availability
- Replacing mocked sensor and ticket data with real-time data provided by the city for precise availability estimates
- Exploring a future extension for bicycle parking, which is also a major challenge for many residents
Built With
- gradle
- kotlin
- kotlinmultiplatform
- maplibre
- postgis
- postgresql
- spring
Log in or sign up for Devpost to join the conversation.