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
- A manager creates a group and generates an invite code.
- A member installs the app, signs in, and joins using the invite code.
- In an emergency, a member presses Trigger Alert.
- 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.