CLIENT: Barrocal Mar🇵🇹Portugal

Riptide - Lifeguard Operations Platform for Beach Towers and the Operations Room

Lifeguard Operations Platform for an Algarve Beach Safety Service

Designed and built a clickable supervisor console for a council beach safety service in the Algarve: a live map of every tower and its flag, rescue and first aid records with casualty health data kept behind a logged reason, lost child alerts matched across 18 beaches, and a roster that refuses lifeguards whose qualifications have lapsed.

Scope of Work
Product design, UI build and clickable demo
Industry
Sports & Outdoors / Lifeguard Operations
EnterpriseMobile
Compliance & Certifications
GDPRLaw 58/2019 (Portugal)ISN lifeguard certificationINEM AED programme

Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.

Impact

5 Screens
Clickable end to end

Live map, incidents, incident detail, lost child alerts and the weekly roster, plus the tower panel, incident quick view and Message towers panel.

3 Checks
Before anyone is rostered

Nadador-salvador certificate, fitness test and AED training are checked for the day of each shift. An assignment with a lapsed one is refused with the reason, and cells also flag below minimum crew, no tower lead and over 40 hours.

45 Minutes
To the police prompt

Each lost child alert counts down to the 112 prompt, tracks which towers have acknowledged, and matches found to missing children on age, sex, clothing colours and height. Descriptions are removed 72 hours after close.

25 Towers
Realistic demo data

18 beaches in 3 zones, 121 lifeguards, 414 roster shifts in one week, 24 incidents with escalations and addenda, and 10 lost child reports.

The Problem

Barrocal Mar patrols 18 beaches with about 220 seasonal lifeguards and ran the season on paper tower logbooks, radio calls and a WhatsApp group per beach. Flag changes were phoned to the office, so the council website often showed the morning flag in the afternoon. Rescue records with casualty health data sat in unlocked binders and on personal phones, and lapsed certificates surfaced only when the maritime authority asked for the list.

Our Solution

Riptide covers the three places the work happens: a tower app for lifeguards on rugged tablets, a supervisor console for the operations room and a public beach status page. The console shows every tower's flag as the tower set it, keeps casualty details hidden until a reason is given, coordinates lost child alerts across all towers and builds a roster that only accepts qualified crews.

The Challenge: A Safety Service Run on Paper and Radio

Beach safety in Portugal falls under the maritime authority, lifeguards need a valid certificate to work, and the records a lifeguard writes on the sand can later be requested by INEM, the police or insurers. All of it happens on a hot, busy beach with wet hands and patchy signal.

Flags Out of Date by Hours

Only the lifeguard on the tower may set the flag. Changes were written in a logbook and phoned in, so the public saw a green flag long after a tower had raised yellow or red, and nobody could say who changed it or why.

Health Data in Unlocked Binders

Rescue and first aid records hold casualty health data, a special category under GDPR Article 9, and lost child reports describe minors. Both sat at the towers on paper or in phone photos, with no record of who had looked at them.

Lost Children Passed by Radio

A missing child's description was repeated tower to tower and changed with each telling. There was no way to know which towers had heard it, or to see that a child found three beaches away matched the report.

Qualifications Checked Too Late

The roster lived in a spreadsheet. A lapsed certificate, fitness test or AED training was found only when the authority asked, and a defibrillator pad out of date was found only when someone opened the case.

Our Approach: From Beach Safety Rules to a Clickable Console

01

Spec and Rules Research

Mapped 9 roles from lifeguard and tower lead to data protection officer and the public, 36 screens across the tower app, supervisor console and public pages, and the data model for towers, flag changes, conditions logs, incidents, casualties, escalations, lost child reports, qualifications and roster shifts. Wrote down the rules the design follows: AMN and ISN certification, Portuguese flag meanings, 112 and INEM escalation, INEM's AED programme, GDPR and Law 58/2019.

02

Clickable Demo on a Production UI Kit

Built the supervisor console's 5 key screens on a production dashboard kit, set on a busy August afternoon: the live map with tower pins coloured by flag and a tower panel, the incidents list without casualty names, an escalated rip current rescue with timeline, AED and oxygen use and an addendum, lost child alerts with a possible match, and the week roster with qualification warnings. All actions run on local state.

03

What a Production Build Adds

The tower app with offline logging that syncs later and the public beach status pages in Portuguese and English. IPMA sea and weather data, APA water quality advisories, map tiles, Firebase push to towers with an SMS fallback, Microsoft Entra ID sign-in, device management for tower tablets and EU file storage. Field-level encryption for casualty records, an append-only audit log, retention set with the DPO and a data protection impact assessment.

Why It Works: The Tower Sets It, the Console Sees It

Flags Come Only From the Tower

Every pin on the live map shows the flag the tower set, who set it, when and why, with a chequered flag when a tower is unmanned for a rescue. Grey pins mark towers not signed on, and conditions older than 60 minutes turn amber.

Casualty Data Behind a Reason

The incidents list and redacted exports never show casualty names. On the incident page, health fields stay hidden until a supervisor gives a reason, and each view is written to an access log shown on the same page.

One Alert, Every Tower

A red strip on every console page shows the active missing child and escalation. The alert lists towers that have not acknowledged with a re-send button, offers a found child as a possible match, and prompts Hand to police at 45 minutes.

Records That Cannot Be Rewritten

An incident keeps its original entries. Later changes are addenda with the author and reason, such as an oxygen duration corrected after handover, and escalations carry the agency's reference number, arrival and handover times.

Related case studies

View all: Sports & outdoors
Logo
Oceanlab

Enterprise Software Engineering - Human + AI

Languages

Locations

Global Headquarters

21 Merchant Road, 3rd Floor, Singapore 058267

Main corporate office and leadership operations

North America Office

548 Market Street, PMB 12345, San Francisco, CA 94104

Client operations and business development

India Office

402 Shivalik Shilp II, SG Highway, Ahmedabad 380015

Engineering and delivery center

© 2026 - Copyright. All Rights reserved Oceanlab