REF Reference · case study

⚠ This is only a preview (not available in production).
Draft

Meteopress STORM

Storm warnings for hundreds of thousands of people

Platform development
Project facts
Client
Meteopress
Platforms
Web, mobile web, cloud & serverless
Cooperation
Agile project development

01 Tech stack · under the hood

TypeScriptLanguageAngularFE frameworkFirebasePlatformGoogle CloudCloud

02 Case study · the story

A timely storm warning is the difference between a calm evening and a broken windscreen. For Meteopress's STORM platform, we built the serverless system that turns meteorologists' warnings into mobile notifications and delivers them to hundreds of thousands of users across Czechia.

Who's Meteopress?

Meteopress is a Czech meteorology company whose radars stand all over the world, from Africa to Tonga. STORM is its product for Czechia: professional meteorologists issue warnings on the platform, and the system turns them into mobile notifications for the people in a storm's path. Storms are often predictable less than an hour before they hit, which leaves the platform minutes to notify hundreds of thousands of users.

Quote

We needed a platform that supports future expansion and scales automatically when the number of events spikes, and that's exactly what FlowUp delivered.

jakub-bartel
Jakub BartelHead of SW and AI Development | Meteopress

Challenges

Cloud platforms are built to scale up and down in seconds, but riding traffic peaks still takes care. We wanted to be sure every person gets their warning on time without paying for highly-scaled databases that sit idle between storms.

The system must scale to zero. Hours can pass with no warning issued, and running the full system through that quiet time would be a plain waste of money and energy.

The computing part

We built the platform on serverless technology from the ground up: the APIs, the databases, even the message bus all scale to zero, with one small SQL instance kept for synchronisation. The APIs run on Google App Engine and store warnings in Firestore; distributed Cloud Tasks then process each one with exactly-once delivery, and BigQuery keeps statistics about every warning for validation and invoicing.

Every midnight, Cloud Scheduler (Google Cloud's managed cron) triggers automatic backups, so an outage or incident costs as little data as possible.

SMS alerts go out through third-party providers, and every such API has a rate limit (say, 60 requests a minute). Cloud Tasks throttle our traffic to match, so alerts flow at full speed and we never DDoS anyone's API.

The outcome

STORM delivered on both promises: every warning reaches its users within minutes, and between storms the system scales to zero and costs next to nothing.

It also turned out to be the start of something longer. STORM led to further collaboration, and today we work with Meteopress long-term on the development of their other products.

03 Product · screens

MeteopressWeb, mobile web, cloud & serverless
meteopress-intro-pic

04 Continue · more work

Back to all references