
Indonesië staat wereldwijd op de 2e plaats wat betreft kwetsbaarheid voor rampen met een score van 43,5%, maar er is een kritieke kloof tussen ruwe overheidsrampendata en bruikbare persoonlijke waarschuwingen. De meeste mensen die in rampgevoelige gebieden wonen, hebben geen betrouwbare, gepersonaliseerde manier om te weten wanneer een overstroming, aardverschuiving of aardbeving nadert, en nog minder wanneer hun internetverbinding wegvalt.
De uitdaging was om vanaf nul een complete Android-applicatie te bouwen die deze kloof overbrugt: real-time gegevens van BMKG, BNPB, USGS en PetaBencana aggregeren, daarbovenop ML-voorspellingsmodellen uitvoeren, push-alerts leveren voordat gebeurtenissen plaatsvinden, en volledige functionaliteit behouden, zelfs wanneer offline.
Als de enige Android Developer heb ik de gehele mobiele applicatie end-to-end ontworpen en gebouwd met Jetpack Compose en moderne Android-architectuur.
Kern-app & Architectuur
- De volledige Android-applicatie gebouwd met Jetpack Compose, Material 3, Hilt voor dependency injection en Navigation Compose voor schermroutering
- De app gestructureerd rond een schone MVVM-architectuur met duidelijk gescheiden UI-, domein- en datalagen
Dashboard & Realtime Gegevens
- GPS-gebaseerde locatie detectie geïmplementeerd via FusedLocationProviderClient
- Een kleurgecodeerd risicodashboard gebouwd dat AI-risicoscores van de FastAPI-backend verbruikt, waaronder overstromingen, aardverschuivingen en aardbevingen
- Auto-refresh elke 5 minuten, pull-to-refresh, shimmer laadstatussen en offline cache-fallback via Room toegevoegd
Offline-First Kaart
- MapLibre Android SDK geïntegreerd met offline MBTiles-ondersteuning, zodat evacuatie routes en opvangmarkers werken zonder internet
- Een fullscreen kaart gebouwd met laag-schakelaars (Banjir / Longsor / Gempa / Laporan), bottom sheet marker details en offline banner detectie
Gemeenschapsrapporten
- De gemeenschapsrapportageflow gebouwd met selectie van gevaarstype, NLP-geverifieerde badgeweergave, anonieme apparaat-ID (UUID) en rate-limit countdown UX
- Rapportering van meldingen geïntegreerd met 3-vlag auto-verberg logica
Pushmeldingen & Achtergrondtaken
- Firebase Cloud Messaging (FCM) geconfigureerd voor push-alerts vóór rampgebeurtenissen
- WorkManager ingesteld voor stille achtergrondrisico- en waarschuwingscontroles elke 15 minuten, die apparaat herstarts overleven via RECEIVE_BOOT_COMPLETED
Waarschuwingsgeschiedenis & Paginering
- Cursor-gebaseerde gepagineerde waarschuwingsgeschiedenis gebouwd met Paging 3 + Compose, gegroepeerd op datum met kleurgecodeerde ernstindicatoren
Instellingen & Voorkeuren
- Per-gevaar melding toggles geïmplementeerd, persistent opgeslagen in DataStore Offline kaart download trigger via WorkManager en FCM token lifecycle management toegevoegd
Tech Stack: Kotlin, Jetpack Compose, Material 3, Hilt, Retrofit, Room, MapLibre, WorkManager, Firebase Cloud Messaging, Paging 3, DataStore, Coil, Python, FastAPI, Neon PostgreSQL
Een volledig geïntegreerde multi-ramp Android-app geleverd met een echte FastAPI-backend en ML-voorspellingsmodellen. De app verwerkt realtime risicogegevens, offline kaarttoegang, community crowdsourcing met NLP-verificatie en FCM push-alerts.