# Alerts that reach the people inside the zone, and only them.

> ZoneAlert is an emergency alert app with zones drawn on a map. Admins draw the zones, a person allowed to send alerts picks a zone, a severity and a message, and the people inside that zone get the alert as a push notification. We built the app and the backend for Eimskip, through FirstlineIT.

- URL: https://bon.do/en/work/zonealert
- Client: ZoneAlert
- Sector: Shipping and logistics
- Platforms: iOS and Android app, with a .NET backend
- Role: App and backend
- Outcome: Sends an alert to the people in one zone, with a full alarm for critical ones.
- Tags: Apps

## Overview

ZoneAlert is an emergency alert app with zones drawn on a map. Admins draw the zones, a person allowed to send alerts picks a zone, a severity and a message, and the people inside that zone get the alert as a push notification. We built the app and the backend for Eimskip, through FirstlineIT.

An alert about a chemical spill at one quay is noise to everyone at the other end of the port. The alert has to reach the people inside the zone, also when the app is closed, and a critical alert has to be impossible to miss.

We built the app in Flutter with Riverpod and the backend in .NET 10 with MongoDB, Redis and Wolverine. Zones are polygons drawn by tapping points on a map. Alerts go out through Firebase Cloud Messaging, and the phone checks against the zone polygon whether the user is inside. Background location keeps that check current. Critical, high and normal alerts are handled differently, and a critical alert sounds a full alarm.

ZoneAlert is live on the App Store. Admins draw zones and manage users, senders alert one zone in a few taps, and recipients can see the alert history and acknowledge each alert. The app is in English, Danish and Icelandic.

## Results

- **Severity:** 3. Severity levels: critical, high and normal, each handled differently.
- **Languages:** 3. Languages: English, Danish and Icelandic.
- **App Store:** iOS. Live on the App Store since February 2026.

## At a glance

- **Client:** Eimskip, via FirstlineIT
- **Product:** Zone-based emergency alerts
- **Users:** Admins · alert senders · recipients
- **Our role:** App and backend
- **Status:** Live on the App Store
- **Stack:** Flutter · Riverpod · Firebase Cloud Messaging · .NET 10 · MongoDB · Redis · Wolverine
- **Timeline:** 2025–2026

## What we built

### 01. Zones

Admins draw each zone as a polygon on the map, point by point.

### 02. Alerts

Zone, severity and message, sent as a push notification and checked against the zone on the phone.

### 03. Backend

A .NET 10 API with MongoDB, Redis and Wolverine for users, roles, zones and alert history.

## How it ran

### 01. Draw: Zones on the map

An admin taps the corners of a zone and saves it with a name and a description.

### 02. Send: One zone, one message

The nearest zone is suggested, then severity and message.

### 03. Receive: Only inside the zone

The phone checks its position against the zone, also in the background.

### 04. Acknowledge: A record of every alert

Recipients acknowledge the alert, and the history keeps zone, sender and time.



## Contact

Bon.do ApS · Rantzausmindevej 228, 5700 Svendborg, Denmark · info@bon.do · https://bon.do/en/contact-us