The short version:
- The OPW's Water Level API gives anyone free, real-time readings from river sensors across Ireland — no sign-up, no data licence fees.
- I used it to build an installable web app that polls sensors every 2.5 minutes and sounds an audio alarm if a river station passes a level you set.
- The whole thing runs on infrastructure the OPW already maintains, so there's no extra cost to the taxpayer and no App Store gatekeeping.
Why I built this
A lot of communities in Ireland sit beside rivers that flood regularly. The OPW already collects the data (hundreds of gauging stations, readings every 15 minutes) but the official site is built for a desktop. During a storm, pulling up a table on a laptop to check whether the water is rising isn't practical. I wanted to build something that worked on a phone, was fast to load on a poor connection, and could alert you without you having to keep checking it manually.
The starting point was the OPW's own waterlevel.ie service, which exposes a proper API — JSON feeds for every gauging station in the country. No authentication, no API key, publicly documented. I had data to work with the same afternoon I found it.
What the app actually does
The OPW Realtime Water Levels app is an installable web app — what developers call a Progressive Web App, or PWA. That means it can be added to your phone's home screen, it works with a poor signal, and it doesn't require a download from the App Store or Google Play.
The alert system
The core of it is simple: you pick a gauging station from a list, say the one on your local river, and set a water level threshold. The app checks the live API reading every 2.5 minutes. If the sensor reports a reading above your threshold, it plays an audio alarm. That's it. No push notification permissions, no account, no data stored anywhere except your own device.
The 2.5-minute polling interval is a deliberate choice. The OPW sensors update every 15 minutes, so anything faster than that wastes bandwidth without gaining fresher data. Anything slower risks missing a spike during a fast-rising flood. 2.5 minutes is a reasonable middle ground that also keeps battery use low.
Caching and offline behaviour
The app caches the last successful reading from each station you've visited. If your phone loses signal (which happens during storms, when mobile towers get overloaded) you still see the last known level, with a timestamp so you know how old the reading is. It won't pretend the data is live if it can't confirm it.
Station search and favourites
There are hundreds of gauging stations across Ireland. The app lets you search by name, river, or county, and save the ones you care about so they're at the top of the list every time you open it. Most people in flood-prone areas care about one or two stations — the one upstream from their house, and maybe the one in the nearest town. The app is built around that use case rather than trying to be a full replacement for the OPW's own site.
What open data actually means in practice
The phrase "open data" gets used a lot and means different things in different contexts. In this case it's concrete: the data.gov.ie catalogue and the OPW's own API documentation are public, the data is free, and there's no application process to access it. The OPW runs the sensors, the telemetry, and the servers as part of their flood forecasting work. Developers get read access to the same feed their own tools use.
That matters for the economics of building this kind of thing. I didn't need to fund sensors, install hardware, or negotiate a data agreement. The infrastructure existed; I wrote a client for it. The total cost to build the app was my time. The total ongoing cost is hosting a few static files, which runs to a few euro a month.
The same model applies across a lot of Irish public data. data.gov.ie lists over 14,000 datasets from government departments, local authorities, and state bodies — transport schedules, planning applications, environmental readings, election results. Most are under open licences. A developer with a specific problem and a few hours can often find data that was already being collected for some other purpose and build something new with it.
The limits
The app is only as accurate as the sensors. Gauging stations can go offline during floods. That's exactly when you most want them, and the OPW's feed will show a gap rather than a stale reading. The app surfaces this gap clearly rather than silently repeating the last value.
It also doesn't predict. It reports what the sensor last said. For anyone who needs actual flood forecasting rather than a live reading, the OPW's own floodinfo.ie is the right tool — it runs hydrological models and issues formal warnings. This app is for people who already know their local river and just want a quicker way to watch it.
A note on PWAs for this kind of use case
I chose the PWA approach over a native app for a few reasons. App stores add friction — users have to find it, install it, and trust a publisher they've never heard of. A web app can be shared as a link. Someone in a Waterford community Facebook group during a flood warning can post a link and everyone in that group has the same tool open in 30 seconds.
PWAs also don't require App Store review cycles when you need to push an urgent fix. If the OPW changes their API format, I can update the app immediately without waiting for Apple or Google to approve an update.
The trade-off is that iOS puts more restrictions on background activity for PWAs than Android does. The alarm only fires reliably if the app is open and the screen is on, or if you've added it to your home screen and it's running in the foreground. That's a real limitation. For most of the people who've told me they use it, though, they check it manually during a storm rather than expecting a background notification — so it works for their actual pattern of use.