← Crafts
Beacon preview

Beacon

Safety research Engineering collaborator

Portable digital emergency alarm with PWA-based alerting — a handheld trigger broadcasts distress signals to configured contacts and dashboards.

Problem

Campus and community safety plans still rely on phone trees that fail under panic or poor signal. Beacon (the emergency alarm craft — not the reverse-vending Wi-Fi repo mapped to Glow) pairs embedded triggers with a PWA so a physical alarm press launches structured alerts with location context.

What it covers

  • Physical panic trigger with debounced GPIO input
  • PWA client for contact lists, drill mode, and acknowledgment
  • Local buzzer/LED feedback so operators know the signal fired
  • Optional gateway push when connectivity is available
long-press trigger distress event push/SMS/email acknowledgment Holder Alarm MCU Safety PWA Alert contacts
Emergency alert path
type DistressEvent = { deviceId: string; lat?: number; lng?: number; at: number };

export async function raiseAlarm(event: DistressEvent) {
  await notifyContacts(event);
  await logIncident(event);
  if (navigator.vibrate) navigator.vibrate([200, 100, 200]);
}
Beacon emergency device placeholder
Hardware photo placeholder — swap for the portable alarm unit and PWA alert screen.