Inspiration
Every rainy season, millions of Jakarta commuters step off the KRL and start walking to their destination, only to find themselves knee-deep in floodwater halfway through a gang. Google Maps routes pedestrians through these alleys with zero awareness of flood conditions. BPBD Jakarta actually has real-time flood data through PetaBencana, but it only exists as a monitoring map. Nobody had connected that data to pedestrian routing. ARUS was built to close that gap.
What it does
ARUS has three core features:
- Real-time flood map showing active flood zones across Jakarta, sourced directly from BPBD Jakarta via PetaBencana, with severity levels and estimated water depth per zone.
- Flood-aware pedestrian routing: enter a start and destination, and ARUS returns two routes side by side, the fastest direct route and a safer alternative that avoids active flood zones.
- AI Insight: after analyzing your route, Gemini AI generates a real-time recommendation. If a safe detour exists, it guides you around the flood. If the detour is too long or flooding is too severe, it recommends taking a vehicle instead. No false hope, just honest guidance.
How we built it
Frontend: React + Vite, Leaflet, CartoDB tiles
Routing and flood logic: OSRM for walking directions, Turf.js for checking whether a route crosses a flood zone, PetaBencana API for live flood data from BPBD Jakarta
AI: Gemini API generates contextual route recommendations based on real-time flood conditions and detour analysis
The core idea: fetch the flood zones, check if the walking route passes through any of them, and if it does, reroute around the flood zone using real Jakarta streets. If the detour is more than 2x the original distance, the AI flags it and recommends a vehicle instead.
Challenges we ran into
- The routing API we relied on turned out not to support alternative routes at all, despite the documentation suggesting otherwise. We had to redesign the entire routing approach from scratch mid-build.
- Live flood data only exists during actual flooding events, so we prepared a curated dataset of historically flood-prone Jakarta neighborhoods for the demo while keeping the production behavior honest.
Accomplishments that we're proud of
Getting real flood data from BPBD Jakarta connected to real pedestrian routing that follows real Jakarta streets, all working end to end, solo, in 30 hours.
We are also proud that during the 2020 Jakarta floods, the national disaster agency itself warned people that a Google Maps flood layer circulating online was showing data from 2013, and directed people to PetaBencana instead. We built on exactly that trusted source.
What we learned
- Always test your APIs with real requests before building anything around them. Both of our main data sources behaved differently from what their documentation said.
- A focused app that solves one problem well is stronger than an app packed with features.
- When time is limited, the only question that matters is: does this make the core experience better or not?
What's next for ARUS
Applications:
- Expand to other Indonesian cities that use PetaBencana
- B2B use cases: logistics companies and fleet operators using ARUS for route planning during flood season
Technical:
- Real-time GPS tracking so the app can alert users if new flooding appears on their route while they are walking
- Crowdsourced flood depth reports from ARUS users to enrich the existing data
- Ride-hailing integration so users can instantly book a ride if no safe walking route is available
Built With
- claude
- css
- gemini-api
- github
- javascript
- react
- rest-api
- vercel
- vite
Log in or sign up for Devpost to join the conversation.