Everything that happens before a threat is real. The goal of this module is one thing: get Maria armed, trusted, and practiced — so the 0.7 seconds after a stranger grabs her arm go exactly right.
PhaseBefore the rideUse casesUC-1 → UC-5PersonaMaria, Lyft driver, AtlantaTriggerNone yet — onboarding only
Setup stepApp becomes armed
Why this module exists
The hardest part of the product is not the 30-second emergency — it's earning the right to be there when it happens.
🪪
Trust before trigger
Drivers don't subscribe to a "panic button." They subscribe to a system they've practiced with, that respects their data, and that they can hand to a colleague without embarrassment.
⚡
The drill is the product
UC-4 (first safety drill) is the moment muscle memory forms. Without it, the trigger phrase is just words on a screen. With it, Maria's mouth says "Mayday Mayday Mayday" before her brain catches up.
🔋
Background by design
By UC-5, the app must run all shift without draining the phone, alerting the passenger, or competing with the Lyft driver app. Anything that breaks that contract kills retention.
UC-1
Discover the app
Actor: Maria · Trigger: Driver Slack screenshot or IG ad
1A driver Slack post shows a Mayday event with the line: "Used this twice. Both times the operator talked the guy down before I even had to stop driving."
2Maria taps the App Store badge. Preview shows a 30-second hero video (voice → operator → police lights), 4.8★ rating, "Built for drivers" badge, trust signals: SOC 2, 30-day evidence retention, $1M liability insurance.
3She reads a one-page privacy card: data lives in US, 30-day auto-delete, audio is end-to-end encrypted, never sold.
4Referral code DRIVER-SLACK auto-applies → first month free, then $9.99/mo.
5Taps Install → routes to UC-2.
Why it matters: The Slack screenshot is more persuasive than any ad. Every retention metric downstream traces back to this one impression.
UC-2
Install & account creation
Actor: Maria + Mayday auth backend · Trigger: Tap "Get"
1App opens directly to phone-number signup. No email, no password — drivers switch phones often. SMS OTP verifies the line.
2Trigger phrase training — Maria records "Mayday Mayday Mayday" three times in normal, whispered, and shouted tones. On-device Picovoice enrollment builds her personalized wake-word model. Encrypted, never leaves device.
3Safe-word — default "all clear, false alarm," editable. Recorded once.
4Trusted contacts (3–10) — auto-suggest from phonebook filtered for "favorites" + recent calls. Maria picks her partner, her mom, two driver friends, and the 24/7 Lyft Critical Response Line (pre-bundled).
5Social blast templates (off by default) — three pre-authored. Maria picks "Short" and edits: "I'm not safe. Last seen: [auto]. Call Lyft Safety: 855-865-9553."
6Operator profile — Maria's name, photo, vehicle (gray Camry, tag redacted), Lyft driver ID, medical notes (none), preferred language (English + Spanish).
7Routes to UC-4 — cannot skip.
Post-condition: App routes to drill. Encrypted vault holds wake-word model + voiceprint; contacts indexed.
2Maria says the trigger phrase. App confirms: "Drill mode engaged. Recording. Simulated contacts being notified."
3App simulates the full sequence: 5s of video (kept local, not uploaded), broadcast SMS prefaced [DRILL], mock AI voice says "this is a Mayday drill — please disregard."
4Maria says safe-word. Drill ends. Screen shows timing budget (✓ all under target) and what to improve (e.g. "Trigger detected in 0.9s — good").
5Result logged (timestamp, latency, false/true) to tune Maria's personal false-trigger threshold.
Outcome: Maria has used the loop end-to-end on her actual device, network, and voice. App badge flips from SETUP to ARMED.
UC-5
Begin a shift (background arm)
Actor: Maria + Mayday daemon · Battery target: ≤ 2.5%/hr
1Maria plugs the phone into the vent mount, opens Lyft driver app (Mayday continues running in background). At 8:00pm she taps the Mayday Live Activity — status flips to ARMED — Listening.
2iOS Live Activity / Android Foreground Service starts. Mic-indicator dot appears in the status bar (Apple-required, cannot be hidden).
3On-device wake-word detector runs continuously. GPS at 30s interval, IMU at 50Hz, audio at 16kHz mono — no upload until trigger.
4Optional: Shift auto-disarms at shift end (Lyft API integration, V2) or after Maria says "Mayday off."
5Quiet hours respected: do-not-disturb-style filters (no vibration, no banner) so the mic indicator doesn't draw passenger attention.
Edge cases:
• Low battery (<15%): banner suggests plugging in but stays armed.
• Airplane mode: listener stays on; broadcast queued & sent on reconnect; SMS falls back to a local 911 push-button.
• Headphones connected: uses headset mic + speakers; still triggers normally.
Outcome of Module 1
Maria is armed, practiced, and trusting the loop. The system has everything it needs from her — and she has muscle memory of the moment she'll use it. Now the ride begins, and Module 2 takes over.