Skip to content
← All work

Sea-state & storm-surge forecast app (Wonderlab, Italy)

WaterLab

A free iOS and Android app that gives fishermen, boaters and coastal communities 5-day wave forecasts for their stretch of coast, built for the RETURN climate-resilience programme.

My role: Backend (Python) and frontend (Unity) developer, working with Wonderlab

Visit waterlab.wonderlab.it ↗
  • Unity
  • Python
  • iOS & Android
  • Forecast data APIs
Screenshot of WaterLab, sea-state & storm-surge forecast app (wonderlab, italy), built by Anshuman Verma

Overview

WaterLab is a sea-state forecasting service built by Wonderlab (Salerno, Italy) for Fondazione Return, under the RETURN extended partnership (Multi-Risk sciEnce for resilienT commUnities undeR a changiNg climate). Sudden changes in wave conditions and storm surges affect safety, livelihoods and daily life on the coast, so the app turns complex forecast data into a simple, reliable view of the sea that fishermen, boaters, tourism operators and residents can check for free on their phones. I built both the Python backend and the Unity app.

The challenge

Along the Italian coast, sudden changes in wave conditions and extreme events such as storm surges have real consequences for safety, the local economy and everyday life. Wave forecasts exist, but they are published as scientific data that fishermen, boaters and tourism operators cannot easily use.

The RETURN programme, a large Italian research partnership on climate and multi-risk resilience, funded WaterLab to close that gap: a free, reliable tool that shows the state of the sea for the places people care about, in a form anyone can understand on a phone.

How it works

  1. 1Daily forecast feeds
  2. 2Python ingestion
  3. 3Storage & API
  4. 4Unity app (iOS / Android)
  5. 5Pick a coastal site
  6. 65-day wave forecast

Architecture

A Python backend handles the data side: it integrates the APIs that deliver daily forecasts, processes and stores them, and serves them to the app for each point of interest defined by the project. Keeping this in the backend means forecast sources and processing can change without shipping a new app version.

The app is built in Unity, giving a single codebase for iOS and Android with a graphical, engaging interface. Users pick a coastal site and see wave height, period, and mean and peak directions as current data, trends and a forecast five days ahead, refreshed daily. The app is distributed through the Google Play Store and Apple App Store, with a companion website.

Maintenance runs for the full project period, with diagnostic testing across devices and operating systems and usability testing in which user feedback drives changes to the experience.

What I built

Python forecast backend

Processes, stores and serves the forecast data, integrating the APIs that deliver daily forecasts for each project point of interest.

Unity app for iOS and Android

One Unity codebase for both platforms, designed to be intuitive, visually engaging and easy to navigate, published to the Google Play Store and Apple App Store.

Wave parameters that matter

Wave height, period, and mean and peak directions, shown as data, trends and forecasts for specific coastal sites.

5-day forecasts, updated daily

Forecast windows of five days, issued every day for each point of interest, in real time.

Free and public

A free service for fishermen, boaters, tourism operators and coastal residents, alongside a companion website.

Tested on real devices

Diagnostic testing across devices and operating systems, plus usability testing with user feedback driving improvements.

Engineering decisions

  • Use Unity for one codebase across iOS and Android with a rich, graphical interface.
  • Separate data processing in a Python backend from the app, so forecast sources can change without an app release.
  • Present only the parameters people actually use to decide whether to go out: wave height, period and direction.

Results

  • Free sea-state forecasts for coastal communities, live at waterlab.wonderlab.it.
  • 5-day wave forecasts updated daily for each point of interest.
  • One Unity codebase for iOS and Android, backed by a Python data service.
  • Delivered for Fondazione Return as part of the RETURN climate-resilience partnership (2025 – ongoing).

Stack

App
Unity (C#), iOS and Android, Google Play and App Store
Backend
Python: forecast ingestion, processing, storage and API
Data
Daily wave forecast APIs (height, period, mean and peak direction)
Client
Wonderlab srl for Fondazione Return (RETURN partnership), 2025 – ongoing

Need something like this?

I can build a version of this for your product, your data and your stack.

Start a project