Inspiration
When getting directions for walking or cycling, Google Maps only returns the most time efficient route. However, this does not guarantee safety, walkability, enjoyability, and other factors that make pedestrian travel effective.
What it does
SceneSafe generates the safest route to a destination from what the user defines as safe. The user inputs a starting point and destination as well as a brief description of what aspects of safety they want to prioritize on their journey. Given the user’s description, SceneSafe outputs a route to the destination that most closely matches it.
How we built it
We built the user interface by first brainstorming all the functionalities we wanted to have on the screen and forming a rough paper draft of it. We then experimented with different little to no code app development platforms which we decided on Flutterflow because of its beginner friendliness and integration of Gemini API. We built the back end using Google Gemini API, OpenStreetMap API, and OSRM API. Gemini processes the user’s natural input into a list of related travel and road features that OpenStreetMap will understand, and OSRM calculates the resulting route. Safety is determined with a safety score. For each possible route to the destination, any features from the route that match Gemini’s generated list of features will each add a score of 1 to the running total score of that route.
Challenges we ran into
For the APIs, we had a hard time making all three of them interface with each other. For developing the algorithm that quantifies safety, we had trouble making it fast enough to use in real time. We also had trouble getting significant scores. For a while, all route options were only returning a score of 0. We ran into challenges with Google Gemini API and Google Maps usage as at first we tried to refer directly to the Google Maps API from the Gemini which led to Gemini only coming up with one route. We got discouraged and wanted to change our idea but decided to stick with it as we had worked hard in thinking of our idea and how it would work. We also ran into challenges of what app development platforms we would use since most were not collaboration friendly unless we paid for the professional plan.
Accomplishments that we're proud of
We are proud that we managed to get scores for all route options, which meant we are able to definitively return a safest route. We are proud that we were able to get the user interface to work with Gemini API to be able to generate a safer route for the user. It had taken us a couple of hours to figure it out and once we took a break and came back, we were able to resolve it.
What we learned
We learned that understanding the high-level goal and flow of the project before starting coding is very important for maximizing productivity. This way, we wouldn’t feel lost when stuck, as we knew what the ultimate goal was. What we learned is how to build an idea from being just an idea to an implementation. With an idea, you need to think of the logistics of it, how you want it to look, function. We decided and learned that it was best for us to keep thinking of how we would implement our idea until we were confident that we could start executing it
What's next for SceneSafe
We want to make the safety score calculation algorithm faster. Currently, the algorithm takes around 1.5 minutes to calculate the ideal path for the user, which is an unrealistically slow waiting time for a product that may be used with edge devices such as smartphones. What’s next for SceneSafe is to connect the user interface and back end of our idea together to make it work as one. For the user interface, we will need to generate a map of the route that Gemini has decided/generated for us to take.
Built With
- copilot
- flutterflow
- gemini
- github
- openstreetmap
- python
Log in or sign up for Devpost to join the conversation.