How mkeses/ai_meeting_note_tool works
AI Meeting Note Tool captures or accepts meeting content, produces editable live transcripts and cleaned, structured notes, then saves and searches meeting workspaces. The React application coordinates capture, review, authentication, and workspace operations with a FastAPI backend; storage can be local SQLite or owner-scoped PostgreSQL. Electron supports a desktop runtime and local model setup. README capabilities guide the major workflow branches; sampled excerpts are partial, so uncertain internal call paths are not expanded.
Main entry points: app.py FastAPI endpoints · App.tsx Workspace UI · storage.py Storage selection · useAuth.ts Authentication state
Components 20
Meeting workspace
- Workspace UI
frontend/src/App.tsx - Sign-in screen
frontend/src/components/AuthScreen.tsx - Authentication state
frontend/src/hooks/useAuth.ts - Audio capture
frontend/src/hooks/useAudioCapture.ts - Live transcript state
frontend/src/hooks/useLiveTranscript.ts - Meeting workspace data
frontend/src/hooks/useMeetingSessions.ts - Report export
frontend/src/lib/meetingReportPdf.ts - HTTP and API URLs
frontend/src/api.ts - Offline app shell
frontend/public/service-worker.js
API and processing
- FastAPI endpoints
backend/app.py - Speech transcription
backend/transcription.py - Cleanup and notes
backend/llm.py - Storage selection
backend/storage.py - Authentication and sessions
backend/auth.py
Meeting persistence
- SQLite meetings
backend/database.py - PostgreSQL meetings
backend/postgres_database.py
Desktop runtime
- Electron controller
frontend/electron/main.mjs - Local model runtime
frontend/electron/ollama-runtime.mjs - Model lifecycle
frontend/electron/ollama-lifecycle.mjs
Other components
- Meeting user
Connections 25
- Meeting user → Workspace UI: uses
- Meeting user → Sign-in screen: signs in
- Sign-in screen → Authentication state: submits credentials
- Workspace UI → Authentication state: checks session
- Authentication state → HTTP and API URLs: requests auth
- Workspace UI → Audio capture: starts recording
- Audio capture → FastAPI endpoints: streams audio
- FastAPI endpoints → Speech transcription: transcribes audio
- Speech transcription → Live transcript state: sends transcript
- Workspace UI → Live transcript state: edits transcript
- Workspace UI → FastAPI endpoints: uploads audio
- FastAPI endpoints → Cleanup and notes: cleans and structures
- Workspace UI → Meeting workspace data: manages meetings
- Meeting workspace data → HTTP and API URLs: requests CRUD and search
- HTTP and API URLs → FastAPI endpoints: calls REST API
- FastAPI endpoints → Storage selection: selects store
- Storage selection → SQLite meetings: creates SQLite store
- Storage selection → PostgreSQL meetings: creates PostgreSQL store
- FastAPI endpoints → Authentication and sessions: authenticates requests
- Authentication and sessions → Storage selection: uses auth store
- Workspace UI → Report export: exports report
- Meeting user → Offline app shell: loads app shell
- Electron controller → Model lifecycle: manages setup
- Model lifecycle → Local model runtime: starts runtime
- Electron controller → FastAPI endpoints: starts backend