Kevin

Kevin Clients — fleet-mobile + kevin-desktop

Two surfaces, shared SDK, JWT auth, MQTT live state.

Kevin Clients — fleet-mobile + kevin-desktop (v2026-08-02T101544Z-ab2bbdebf5) 2026-08-01 | Two surfaces, shared SDK, JWT auth, MQTT live state. 1 - App Initialization App.tsx:20 initializeStorage() React.useEffect() NavigationContainer RootNavigator SafeAreaProvider storage initia… 2 - Device List Navigation DevicesStackNavigator DevicesList DeviceDetail deviceStore.ts devices selectedDevice device list 3 - Device Detail Navigation DeviceDetailScreen DeviceInfoCard RelayControlCard CommandCard api.ts GET /api/devices/{id} POST /api/devices/{id}/relays/{num} device details 1. App initializes sto… 2. NavigationContainer… 3. DevicesStackNavigat… 4. User selects a devi… 5. DeviceDetailScreen… 6. DeviceInfoCard fetc… 7. RelayControlCard al… 8. CommandCard sends d… GET /api/devices/{id} response { "id": "device123", "name": "Device A", "online": true, "battery_pct": 85, "rssi": -60, "uptime_ms": 3600000, "version": "1.0.0", "hw": "ESP32" } POST /api/devices/{id}/relays/{num} request { "relayNum": 1, "state": "ON" } The source does not show MQTT integration or live state updates. Offline support and JWT authentication are mentioned but not detailed in the provided code. Legend actor = initiates work · process = code path · store = state on disk · bus = durable queue · dashed = separate process cyan = request flow · pink = state read/write · dashed green = pull / return path · red = refusal

Provenance

This drawing is generated, not drawn. It is rebuilt from the source files below, so when they change the picture changes — a diagram here cannot quietly describe a system that no longer works this way.

Owner
Kevin
Slug
kevin-clients
Rendered
2026-08-02T101544Z
From commit
ab2bbdebf5
Watches
3 paths
  • apps/fleet-mobile
  • apps/kevin-desktop
  • clients