Skip to content

Repository files navigation

recall

Local, always-on household speech recall system — a memory aid that records, transcribes, attributes (who said it), and makes searchable the conversations in the house. Everything stays on-device.

Web app

Open http://10.100.0.2:8000 (Isis, over the VPN, behind a Nextcloud sign-in): a timeline of the conversation, full-text search with audio playback, a review/correct queue, record-from-device (phone as a second mic), and speaker labelling that enrols voices as you confirm who spoke. It's an Angular app served by FastAPI on one origin, running on Isis — the Mac serves no UI. See docs/running.md.

Dev

Backend (Python) in the Nix devshell:

nix develop          # python + mypy + ruff + pytest + ffmpeg + sox + uv + node
nix run ../dev-lint#gate -- . gate.json   # the full gate (gate.dhall -> gate.json)

Frontend (Angular 22, in frontend/):

./scripts/recall-build-frontend.sh           # build into dist/ (served by the API)
nix develop --command bash -c 'cd frontend && npx ng serve'   # dev, proxies /api -> :8000
nix develop --command bash -c 'cd frontend && npx ng test --watch=false'

ML deps (mlx-whisper, pyannote) live in .venv, which is a symlink into the nix storenix build .#dev-env --out-link .venv builds it from uv.lock, the same lock the agents' ml-env comes from, plus the dev group. It was a uv-managed directory until 2026-08-10; nothing needs uv sync any more, and a fresh clone gets it from the gate's first venv row. scripts/recall.sh runs any command with the full environment.

Status

Live and self-running, split across two machines: the Mac mini does capture and live + batch transcription as launchd services, recording the household to an encrypted disk, and pushes to Isis, which is the system of record and serves the web app. Per-turn EN/NL transcription works; speaker attribution turns on once a HuggingFace token is set and voices are enrolled (see docs/running.md). Transcripts are versioned and re-derived, never overwritten, so accuracy improves over time without losing history.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages