Back to home

Case study · 2024 — 2025

Nimbus AI

It started with a question on a bus to Tupungato, in the middle of a hailstorm. It ended up as an early warning system for Mendoza.

100%

Hail events caught in the test data

24

Years of weather data

300+

Hours of work

5

Dashboards, one per role

01

The problem

I was on the bus to college in Tupungato when hail started pouring down. In Mendoza that means harvests ruined in minutes, dented cars and broken roofs. I wondered whether any app warned people in time, and the answer was: barely. After months of reading papers and hunting for data, I found a single major precedent, with a partial dataset. The real problem wasn't the model: nobody had an orderly record of which days hail actually fell.

02

The solution

The project had two stages. The first was exploratory: an analysis and an unsupervised model to pass the first Data Science module at Coderhouse. The second was my end-of-year project in the software degree: a full year and over 300 hours. I built the dataset by pulling weather data from several sources, with scraping and manual checks, and labelled hail days year by year from 2000 to 2024. I added GOES-16 satellite images from the point they became available. With that I trained two networks: a dense one that reads the weather data and a convolutional one (CNN) that reads the images, and their predictions are combined into a single probability. On top of it I built the platform, with a dashboard for each role: civil defence, meteorologists, data scientists, admins and the general public.

03

The result

As far as I could find, the resulting dataset is the largest labelled hail record in Argentina. On the test data, the model caught every real hail event, at the cost of only one in seven alerts ending in hail. I tuned it that way on purpose: a false alarm costs far less than hail with no warning. Today the platform is live and the model server is paused for cost reasons, waiting for Nimbus 2.0.

How it is built

Both networks are built with TensorFlow and Keras: a dense network for the tabular weather data and a CNN for the satellite images, with Scikit-learn and Pandas for data preparation. The API is FastAPI in a Docker container, and the platform uses React and PostgreSQL. The whole process, from data cleaning to metrics, is documented in the repository.

Python · TensorFlow / Keras · Red densa + CNN · Scikit-learn · Pandas · FastAPI · React · PostgreSQL · Docker

Got a similar problem?

If a process still lives in spreadsheets, emails or a notebook, it can be solved. Tell me what you need and I will let you know if I can help.