Nano Solutions
Government & Public Safety

BeachSafe Mobile

BeachSafe Mobile

The Challenge

The moment someone most needs beach safety information is the moment they are least likely to have coverage. Australian beaches are frequently at the edge of the mobile network or well past it — and an app that shows a spinner when you are standing on the sand deciding whether to swim has failed at its only job.

A conventional mobile app backed by an API cannot solve this. Neither can a naive offline cache, because a first-time user who installs the app in town and drives to the coast has never populated one.

Surf Life Saving Australia needed the app to be useful with no network at all, on first launch, for any beach in the country.

The Solution

Nano Solutions built the mobile side of BeachSafe around an offline-first data model rather than an offline fallback.

A database built on the server, shipped to the device

The platform maintains a parallel set of mobile-shaped records — beaches, articles, media and assets modelled specifically for on-device use rather than reusing the web schema. A dedicated build step compiles those into a database artefact that ships with and updates alongside the app.

The practical effect: a user who has never opened the app before, standing at a beach with no bars, still gets that beach — its location, its hazards, its safety information, its facilities. The network makes the data fresher, it is not what makes the data present.

Modelling mobile content separately also lets the two surfaces diverge where they should. A phone screen at the beach does not want the same article body as a desktop browser, and it definitely does not want the same image payload.

One codebase, two stores

The apps are built on Capacitor, so a single web codebase ships as native iOS and Android applications while sharing logic with the platform it belongs to. Release engineering is automated with fastlane build scripts across both platforms, so submitting a build is a pipeline step rather than an afternoon.

The app has been carried forward across major Capacitor versions — an upgrade line maintained deliberately, because a mobile app that is not kept current with platform requirements eventually stops being distributable at all.

Notifications that matter

Device registration is first-class, with push delivery through Firebase on Android and Apple's service on iOS, and an app-version model so the platform knows what is in the field and can behave accordingly. That matters for safety messaging: a hazard warning is only useful if it reaches people who are actually at the beach, and only if the platform can tell which app versions can render it.

The Results

  • More than 12,400 beaches available offline, on first launch, with no network at all
  • A generated on-device database rather than a cache that has to be warmed
  • Mobile-specific content models, so the phone gets payloads shaped for a phone
  • One codebase across iOS and Android with automated release pipelines on both
  • Maintained across major platform versions for over a decade of continuous availability in both stores

The clearest endorsement of the approach is that the client promotes it themselves. Surf Life Saving Australia's own app promotion on beachsafe.org.au reads:

"The Beachsafe app is now accessible on both iOS and Android platforms. Experience all its features, with the added convenience of offline functionality!"

— Surf Life Saving Australia, promoting the app on beachsafe.org.au

Offline is not a line we added to the case study. It is the line the client leads with.

What that means commercially

Offline is not a feature you bolt on; it is a decision about where the data lives. Shipping 12,400 beaches inside the app inverts the usual assumption, so the network makes the information fresher rather than making it present. For any client whose users work beyond reliable coverage — mining sites, remote health, field services, agriculture — this is the pattern that holds up, and the reason we build it this way from the start rather than discovering it after launch.

Technology

Capacitor wrapping the shared web codebase for native iOS and Android delivery, with a server-side build step that compiles mobile-shaped content into a database artefact shipped with the app. Push notifications via Firebase Cloud Messaging and Apple's push service, device and app-version tracking server-side, asset syncing between environments, and fastlane-automated builds for both platforms through GitLab CI.

See also: SLSA BeachSafe — the platform behind the app, and SLSA Marine Data Pipeline — where the conditions data comes from.


Related Nano Solutions services: App Development · App Security · Cloud Maintenance. WA government agencies can engage us directly through our CUAICTS2021 panel listing.