24 lines
No EOL
1.2 KiB
Markdown
24 lines
No EOL
1.2 KiB
Markdown
# Lullalink
|
|
|
|
Peer-to-peer baby monitor for Flutter.
|
|
|
|
- **Child device** (one phone, near the baby) streams audio, video, and
|
|
gyro/accelerometer data to the **parent device** (the other phone, near the
|
|
parent) over WiFi — no cloud, no server.
|
|
- **Secure by default**: all streams use **mutual TLS (mTLS)** with self-signed
|
|
certificates. Two phones trust each other by scanning a **QR code** of either
|
|
device, and a pairing passphrase is required by default.
|
|
- Audio and video streaming are each independently toggleable on the transmit
|
|
side (child) and the receive side (parent).
|
|
- The parent sees a live audio **gain graph**, a **frequency spectrum** of
|
|
captured audio, and a **movement graph** derived from the child phone's
|
|
gyro/accelerometer (phone rests on the bed → baby movement is visible).
|
|
- The parent can configure **notification thresholds** (e.g. sound level,
|
|
movement frequency).
|
|
- Future (v0.2): optional on-device ML on either device for movement
|
|
classification and audio/sound-type classification.
|
|
|
|
## Development
|
|
|
|
Tests — including all UI/graphical tests (golden/widget tests, fake plugins,
|
|
no physical device) — must run and be verifiable entirely in **headless CI**. |