Inspiration
While heading to the bus station after McHacks last weekend, our Uber driver mentioned that he'd love to have an app similar to Waze (a community-based traffic and navigation app). He discussed a need for an app that can be used to provide real-time information about road quality conditions - specifically potholes. This sparked our curiosity, and after further investigation, we discovered that there is a need for reliable, wide-spread pothole detection across the country. As it turns out, Google has even patented a system for cars that maps potholes.
Potholes are a huge cost to both drivers and cities. Toronto spends over $6 million dollars annually fixing potholes, and drivers can expect to spend anywhere between $200 and $500 in repairs depending on the force of impact and type of damage.
The bottom line is, potholes are a big problem and FindThePots is the solution.
What it does
FindThePots is a hardware and webapp combination that detects and maps the location and size of potholes in real-time as a user drives around. This data is interpreted by the webapp to provide route recommendations to avoid roads with known potholes.
For safety reasons, FindThePots requires no input from the user (such as a confirmation notification when a pot hole is hit) and can be run completely either alone or with the webapp loaded. This way, drivers aren't at risk of distracted driving.
How I built it
The pothole sensor was made with an accelerometer attached to a Photon (by Particle). Accelerometer values are obtained, and processed within the microcontroller to determine if a pothole has been hit. In addition a magnitude value of 1, 2, or 3 corresponding to the severity of the pothole was calculated.
The Photon has built-in wifi and is easily integrated with Google Cloud Platform. This allows us to send data from the Photon from anywhere, at any time. Data is sent to our webapp and a node.js server interprets it and displays it on the map. Additional server-side code uses this data to create new routes based on this information.
Challenges I ran into
"Life is good, but sometimes there are bumps on the road" - Marina shakes accelerometer
When we say "easily integrated with Google Cloud Platform" we really mean there are relatively straightforward tutorials to connect the photon with Google Cloud Platform - since we're new to this service, it was certainly a task that took some time to figure out!
We also had a significant setback with the photon Saturday night; apparently it can get stuck in a "wifi-connected-but-cloud-disconnected" (!?!?!?!?!?) mode if Particle.process(); isn't placed in loops. Thanks to Stackoverflow for finally solving our problems.
"Pub/sub, sub/Pub, sub the pub, pub the sub agghhh"- Aromi
"The photon was a new piece of hardware which required changes from standards Arduino code and had unexpected and difficult to fix flaws in it's connectivity." - Marina
**Shout-out to Harold for all the help <3"
Accomplishments that I'm proud of
Solving the photon issue! And overall just managing to get everything to connect to eachother
What I learned
"I learned how to use Google Cloud Platform and how to set up my photon to communicate with the outside world" - Tori
"We learned how to work with the photon, and were able to overcome a 'total hardware breakdown' few hours. Also, learned how to GitHub and earned my Octocat stickers." -Marina
What's next for FindThePots
- Ability to analyze the pothole data (location, time, severity etc.)
- Send (or sell) data to the city for more efficient (and therefore lest costly) pothole
- Replace the Photon with the Electron (cellular enabled version of the photon, also by Particle)
- Create a prototype with 3D printing, add a magnet so that it can be attached to a car!

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