The problem
Disaster information is scattered across agencies that each publish in their own format and on their own schedule. Someone who wants to know what is happening where their family lives ends up checking five websites, and most “disaster” sites repost news instead of the official data.
What I built
A standalone PHP 8.2 and MySQL platform, with no WordPress and no plugins, that syncs live from six official sources: USGS, GDACS, NASA EONET, NASA FIRMS, NOAA/NWS and EMSC. Each source limits how often it is asked, so the sync can run every few minutes safely.
- Live map and alert feed, with severity shown by label as well as colour
- Country, hazard and history pages built from the same data
- An Android app on Google Play, live since August 2026
The decision that mattered
A Play Store listing returns “not found” for days while it is in review, and a download button that leads to an error is worse than no button. Every website-to-app link was therefore controlled by one setting. While it was empty nothing rendered; setting it switched every placement on at once.
What it shows about my work
Data engineering, performance on shared hosting, careful handling of official sources, and shipping a web product and its app together.