First end-to-end local-first build of the Agenting Meeting Copilot.
What's in this build
- Chrome MV3 extension: popup → service-worker (tabCapture) → offscreen document (AudioContext resampler)
- FastAPI backend with per-meeting IngestionService and LiveBus
- LangGraph StateGraph: ingest → align_speakers → extract_notes → update_memory, plus a finalize pass
- faster-whisper (small int8 incremental, medium int8 final) + pyannote speaker-diarization-3.1
- phi-4-mini-reasoning Q4_K_M via Ollama with structured JSON output
- Postgres + pgvector for meetings, segments, speakers, notes, runs
- Next.js 15 App Router dashboard with WebSocket live stream
Hardware target
~6.7 GB RAM, AMD APU, no GPU. large-v3 reserved for GPU hosts via env switch.
Known limitations
- ScriptProcessor is used for resampling in the offscreen document; AudioWorklet is the planned swap
- In-process LangGraph state cache (no Postgres checkpointer)
- Single-user localhost only
- No cross-meeting speaker resolution yet (embedding index exists, matcher is not wired)