Skip to content

NeighbourhoodWatch is a low-maintenance emergency alert system for community safety groups.

Doc status: Latest (rolling). See Versions for dated snapshots.

What this product is

  • A mobile-first “panic button” style alerting system for neighbourhood groups.
  • Users join a group only via invite code.
  • In an emergency, a user triggers an alert; the system sends high-priority push notifications to the group.

What this product is not

  • Not a social network.
  • Not a continuous location-tracking platform.
  • Not a store of sensitive address-level data.

Core workflow

  1. A manager creates a group and generates an invite code.
  2. A member installs the app, signs in, and joins using the invite code.
  3. In an emergency, a member presses Trigger Alert.
  4. Nearby group members receive a high-priority push notification.

Roles

  • Member (standard user): can join via invite, register device for push, trigger alerts.
  • Manager: can create groups/invites, broadcast, and pause/ban members.

Minimal UX principle

The app intentionally stays lean. The only core user flows are:

  • Login
  • Join group via invite
  • Trigger alert
  • Admin pause/ban/broadcast

Data minimisation

  • No home addresses are collected.
  • Avoid storing exact latitude/longitude where possible.
  • Group association can be based on a coarse zone id rather than precise coordinates.

System components (at a glance)

  • Mobile: Expo React Native app
  • Admin: Next.js web console (manager actions)
  • API: Cloudflare Worker API (all privileged actions verified server-side)
  • Data: Firestore
  • Push: FCM HTTP v1

Platforms

  • Mobile: iOS + Android
  • Admin: web (manager controls)

Note: iOS “Critical Alerts” require Apple entitlement approval.