Pitch
Stop letting unpredictable weather dictate your commute. Do you really need to pack that rain jacket? Should you take that scenic route? Or, can you travel light and navigate your day with peace of mind? We built CirrusNav to answer these questions!
Inspiration
Bad weather can be very difficult to plan for, especially on long commutes. Our apps serves as a solution to this overlooked but crucial issue.
For longer road trips, our dynamic weather report tells you whether to speed up or slow down to dodge incoming storms entirely, letting you travel in complete serenity.
What it does
CirrusNav is a smart navigation app. Instead of just showing you the current weather across the length of your trip, CirrusNav calculates your exact driving route and estimates the weather at various checkpoints along the way.
It queries hourly forecast data to show you exactly what the weather will be at those coordinates when you reach them. With the intuitive map, you'll instantly see if you'll be driving into a thunderstorm 3 hours from now.
How we built it
We built the Android app entirely in Kotlin.
- Mapping Engine: We used OpenMapView to render lightweight OpenStreetMap tiles.
- Routing & Geocoding: We chained together Nominatim (to convert city names to coordinates) and the OpenRouteService (ORS) API to fetch the driving path, total distance, and duration.
- Weather: We used WeatherAPI.com to pull deep, 48-hour forecasting data.
Challenges we ran into
Ran into a critical bug inside the third-party mapping library's GeoJSON parser that crashed the app when reading route data. To fix this a bypass was used to bypass the library and extract the coordinate arrays safely.
Stitching together the various APIs was also a substantial challenge. We had to bridge the gap between existing services to create the tool we had imagined.
We also had to make decisions around controlling the scope of the project. In parallel with our MVP, we were working on laying the foundation of an interactive voice agent with ElevenLabs to allow hands free control of the app, but ultimately we started work on that too late in the project to see any results.
Accomplishments that we're proud of
- Creating our first mobile application, and learning a suite of new technologies associated with that.
- Building a solution on top of open source projects for users that would rather avoid big tech.
- Prioritizing our user's experience by making the map intuitive and easy to understand.
What we learned
- Kotlin
- Android Development
- Collaborating using Git and Github.
- Proper Documentation
- Working with a team under time constraints
What's next for CirrusNav
- Dynamic Rerouting: Calculating and suggesting an alternate route if it means avoiding a severe storm, even if the drive is slightly longer.
- Push Notifications: Alerting the user to "leave 15 minutes earlier to avoid the rain."
- Different Transport Options: Adding weather routing for cycling and walking
- Hands free control with a voice agent.

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