Three pieces I'm building at once: an iOS and Android app, the server that feeds it data and the website that presents it. The website is live; the app and the server are still being built. There are no results to report yet, so this page explains what each piece is and where it stands.
What it is
An app that shows what's happening in the places each user picks and in the rest of the world and alerts them when something happens there. Every data point says which agency published it, at what time and with which link. From the data it archives, it also works out what the source doesn't say: whether today is normal for that place, how long it usually lasts and how often it comes back. It isn't a headline aggregator.
What I'm building
All three pieces at once: the server that collects and sorts the data, the iOS and Android app, and the marketing site. There's a fourth that isn't for sale: the internal dashboard used to run everything else.
Status
The website is live; the app is being built. The server is already archiving data from more than ninety public sources, and the app can be navigated end to end. It isn't in the stores yet and there's no published launch date.
From the agency that publishes the data to the phone.
Between the source and the app sits a server that makes three decisions about every data point: whether it's a fact or noise, which place on the map it belongs to, and which users need an alert. That's the biggest part of the project. The app is the part you see and the smallest.
WHERE THE DATA COMES FROM · MORE THAN NINETY PUBLIC SOURCESTHE SERVERWHERE IT'S READSeismology and meteorologyand emergency agenciesTraffic, trains and airportsand public traffic camerasPublic healthoutbreaks and travel advisoriesArchives without duplicatesand keeps what arrived, as isDecides whether it's a factand which municipality it belongs toAlerts only people who havethat place among their zonesThe appfor iOS and Android
The app can only show what the server has sorted first. The biggest job is the server's and it's the one you don't see.
Where it stands
The three pieces, one by one.
I build them at the same time because they depend on each other.
8languages, in the app and on the website
+90public sources, each with its licence
3areas in the app: nature, transport and health
2platforms: iOS and Android
The serverIt collects data from the sources, archives it without duplicates and assigns every event to its municipality. Java and Spring Boot on PostgreSQL.
The appFor iOS and Android. It shows the saved places: the map, active alerts with their source and the history of every figure. Alert delivery is coded; it still has to be tested on real phones.
The marketing siteStatic and live in eight languages. It shows the source catalogue with each source's licence. The download reads “coming soon” until the app is in the stores.
The app today
Five screens from the app.
Now, a typhoon with its track cone, Travel, a zone with its traffic and Planet. These are real screenshots, with the data from the day they were taken and every figure with its source and time.
Now
Cyclone
Travel
Zones
Planet
Starting decisions
Three decisions made before writing code.
I wrote them down before the first line of code, because changing them later means a rewrite. They're the ones that have shaped the rest of the work the most.
Every data point shows its sourceEvery data point says which agency published it, the time and the link. A category isn't shown until there's a source behind it with authority on the subject. It's slower to build, but without that rule this would be a news aggregator.
Machine learning models trained on the archive itselfAnomaly detection models are trained on the archived data. They detect whether what just happened is out of the ordinary for that place, or whether a source has started sending odd data. They're interpretable models: every result shows where it comes from and can be recomputed. It's data science; no language model summarises text here.
Worldwide coverage from day oneI didn't start with one country to expand later. That calls for a catalogue of places covering the whole planet and for fast matching of every event to its place from the start, instead of running into the problem when moving into other countries.