- Add 2-second timeout to profile fetch in getStoredUser() to ensure
app startup < 3 seconds even with slow network. Falls back to cached
user data on timeout.
- Implement early scan termination in BLEManager when devices found.
Scan now exits after 3 seconds once minimum devices are detected,
instead of always waiting full 10 seconds.
- Add PerformanceService for tracking app startup time, API response
times, and BLE operation durations with threshold checking.
- Integrate performance tracking in app/_layout.tsx to measure and
log startup duration in dev mode.
- Add comprehensive test suite for performance service and BLE
scan optimizations.
Performance targets:
- App startup: < 3 seconds
- BLE operations: < 10 seconds
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>