v0.1 — MVP: P2P baby monitor
v0.1 — MVP: P2P baby monitor
Milestone for the Lullalink app (https://git.jilits.se/emidab/lullalink).
Scope
- Flutter app with two roles over WiFi P2P (peer to peer, no cloud, no server): a child device (the phone placed near the child) and a parent device (the phone held by the parent).
- Streams (child → parent): video and audio, each independently toggleable on both the transmit side (child) and the receive side (parent).
- Secure by default: all streams use mutual TLS (mTLS) with self-signed certificates; each endpoint authenticates the other's cert directly (no central CA). Pairing/trust is established by scanning a QR code of either device to exchange and pin the other end's certificate/fingerprint. No PIN or password is needed — mTLS alone is sufficient.
- Graphs on the parent device: audio gain/level graph, a live frequency spectrum (spectrometer-style) of the captured audio, and a movement graph from the child device's gyroscope/accelerometer telemetry (child phone resting on the bed → baby movement visible).
- Notifications on the parent device with configurable thresholds (e.g. sound level, movement frequency).
- Testing: exceptionally good tests, including graphical/UI tests (golden/widget tests, fake platform plugins, no physical device), all runnable and verifiable in a headless CI environment.
Future (v0.2, not part of this milestone)
- Optional on-device ML on either device (end-user enabled, sensible default: the device plugged into power) for movement classification and audio/sound-type classification (what the captured audio seems to be).
No due date
8% Completed