-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Description
User journey analysis from Mixpanel (Feb 7) shows that 44% of sessions where a device connects result in an immediate disconnect without producing a memory. This points to connection instability — either BLE flakiness, firmware handshake failures, or backend WebSocket drops — that silently kills nearly half of recording attempts.
Note: This analysis is from infra/monitoring data only — not verified by CTO. Suggestions are directional; deeper app + backend investigation needed.
Current Behavior
- After "Device Connected", 44% of sessions go straight to "Device Disconnected" with no memory created.
- Only 26% of post-connect sessions successfully produce a "Memory Created" event.
- 45% of all sessions last under 1 minute (quick glance, no recording).
- The dominant user loop is: Open App (Action Items) → Device Connected → [recording] → Memory Created → Device Disconnected.
- After a memory is created, 54% disconnect immediately (expected — session complete), but 6% browse conversations and 6% use chat voice input.
- Session entry points: 44% Action Items page (home screen check), 19% device disconnect event, 18% memory creation event.
Expected Behavior
The quick disconnect rate after Device Connected should be under 10%, meaning 90%+ of connect attempts result in a stable session that produces at least one memory.
Affected Areas
| File | Line | Description |
|---|---|---|
| App BLE layer | — | Bluetooth connection stability, handshake, reconnect logic |
| App WebSocket layer | — | Client-side WS connection to backend-listen |
| backend-listen | — | Server-side WS handling, STT provider connection |
| Firmware | — | Device-side BLE connection management |
Solution
Needs investigation across multiple layers. Suggested approach:
- Classify disconnect reasons: Add logging/events to distinguish BLE drops, WS failures, user-initiated disconnects, and timeout disconnects.
- Check BLE stability: Analyze if disconnects correlate with specific device models, OS versions, or BLE chipsets.
- Check backend-listen WS health: Review if backend-side WebSocket drops (e.g., Deepgram timeout cascades) contribute to the 44%.
- Review reconnect logic: Verify automatic reconnect attempts and backoff behavior in the app.
- Add a "disconnect reason" property to the Mixpanel "Device Disconnected" event to enable future analysis.
Files to Modify
- App: BLE connection manager, WebSocket client, Mixpanel event properties
- Backend:
backend-listenWebSocket handler, connection lifecycle logging - Firmware: BLE connection state machine (if applicable)
Impact
~44% of device connections fail silently — this is the single largest drop-off in the user journey. Fixing this could significantly improve memory creation rate and overall engagement.
by AI for @beastoin