• 11 Open
    1 Closed
    Updated 2026-09-02 15:53:04 +02:00
    No due date

    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).