Inspiration
Growth Factor inspired us to shift our perspective on customers, focusing on what truly matters to them and how we can help them scale. We treated this project as a learning experience to dive deep into what real users are searching for, figure out how to gather that data, and ultimately deliver it in an accessible way.
What it does
At its core, SnapPark is a dataset generator. In a world where data is incredibly valuable, we leverage publicly available satellite imagery (like Google Maps or Apple Maps) to extract practical information that actually matters to a customer. Our tool identifies parking areas within an aerial image and calculates the total number of parking spots per lot. It then outputs the original image with the parking areas masked and the space count clearly labeled. This data can help other developers augment their own models, or help small business owners make informed, data-driven decisions about where to lease their next storefront.
How we built it
We really wanted to push our limits this hackathon and walk away with new skills. While starter code was available, we decided to build everything from scratch to truly understand how to process all the data. We combined advanced machine learning, specifically a vision transformer architecture, with classical computer vision techniques. This hybrid approach was a fantastic exercise in building explainable models.
For the vision transformer, we trained the model on a custom masked dataset to generate masks for parking areas. We verified its accuracy visually, but also rigorously tested it against our ground truth using the Intersection over Union (IoU) metric. Finally, we challenged ourselves to implement classical computer vision methods for landmark detection, global edge detection, ground sampling distance, and self-calibrating size estimation to accurately determine the actual size of the lots and count the parking spaces.
Challenges we ran into
We initially tried a straightforward approach using the YOLO model to estimate the number of cars in an image. However, we quickly discovered this wasn't reliable for the type of aerial data we were working with, prompting us to pivot our strategy. Training our model from scratch also proved to be challenging. It took a significant amount of time to dial in the correct weights and biases. We constantly had to tweak our preprocessing pipeline to ensure the model could generalize well across the various types of satellite imagery we might encounter.
Our biggest hurdle, though, was time. We originally started out building a stock price prediction tool, but soon realized it lacked the creative spark and real world value we wanted to deliver. After building a rough Minimum Viable Product (MVP), we scrapped it entirely to focus on something that would actively help growing businesses. This pivot left us with less than 20 hours to build SnapPark. We sacrificed sleep, worked through the night on rotating nap schedules, and pushed hard to deliver a functional product. Despite the crunch, we are incredibly proud of what we built and learned along the way.
Accomplishments that we're proud of
We are extremely proud of our late night whiteboard sessions, debating classical computer vision approaches and realizing that sometimes the most effective solution is the simplest one. It’s also incredibly rewarding to know we built a tool that could genuinely help a small business owner find the perfect location for their shop based on something as practical as parking availability.
What we learned
We had to dive deep into front end development to create a clean, interactive website, configure the environments, and ensure the user interface was intuitive. We also learned that simplicity is often much harder to achieve than complexity. However, building a simple, explainable solution is key to earning customer trust, as it allows you to clearly walk them through your model's decision making process.
What's next for SnapPark
We want to continue building tools that help small businesses scale. Moving forward, we plan to further explore how blending classical machine learning techniques with modern architectures can yield impactful, real-world solutions.
Github:
Built With
- css
- html
- javascript
- jupyter
- lightning
- next.js
- ngrok
- python
- pytorch
- react
- typescript
- vite
Log in or sign up for Devpost to join the conversation.