Skip to content

Investigate 44% quick disconnect rate after Device Connected #4667

@beastoin

Description

@beastoin

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:

  1. Classify disconnect reasons: Add logging/events to distinguish BLE drops, WS failures, user-initiated disconnects, and timeout disconnects.
  2. Check BLE stability: Analyze if disconnects correlate with specific device models, OS versions, or BLE chipsets.
  3. Check backend-listen WS health: Review if backend-side WebSocket drops (e.g., Deepgram timeout cascades) contribute to the 44%.
  4. Review reconnect logic: Verify automatic reconnect attempts and backoff behavior in the app.
  5. 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-listen WebSocket 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

Metadata

Metadata

Assignees

Labels

captureLayer: Audio recording, device pairing, BLEmaintainerLane: High-risk, cross-system changesp0Priority: Existential (score >=30)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions