How dheerajll/meetq works
MeetQ turns LMA transcript chunks into cleaned transcripts, hierarchical summaries with structured meeting insights, and searchable meeting knowledge. The main workflow is LMA streaming through WebSockets, background meeting processing, then user-facing meeting and RAG features in the frontend. PostgreSQL holds meeting, transcript, summary, and embedding data; Ollama supplies local language-model inference and embeddings. The README documents the major processing capabilities; some endpoint and processing internals were not sampled, so uncertain call wiring is omitted.
Main entry points: api.js API client · lma_handler.py Chunk receiver · cleaning/pipeline.py Transcript cleaning · summarization/pipeline.py Summary pipeline
Components 24
Web client
- MeetQ interface
frontend/src/app/(dashboard)/page.jsx - Meeting views
frontend/src/app/(dashboard)/meetings/page.jsx - Query view
frontend/src/app/(dashboard)/query/page.jsx - API client
frontend/src/lib/api.js
LMA ingestion
- LMA WebSocket endpoint
backend/app/ws/endpoints.py - Chunk receiver
backend/app/ws/lma_handler.py - Connection manager
backend/app/ws/manager.py
Transcript processing
- Processing coordinator
backend/app/services/meeting_processing.py - Transcript cleaning
backend/app/services/cleaning/pipeline.py - Cleaning methods
backend/app/services/cleaning/overlap.py - LLM cleaning
backend/app/services/cleaning/llm_inference.py - Summary pipeline
backend/app/services/summarization/pipeline.py - Summary stages
backend/app/services/summarization/hierarchical.py - Ollama client
backend/app/ai/ollama_client.py
Meeting search
- RAG API
backend/app/api/v1/rag.py - Time query parser
backend/app/services/query_parser.py - RAG service
backend/app/services/rag_service.py - Embedding client
backend/app/ai/embeddings.py
Backend platform
- Meeting API
backend/app/api/v1/meetings.py - Authentication API
backend/app/api/v1/auth.py
Other components
- Meeting user
- Local Meeting Agent
- PostgreSQL
- Ollama service
Connections 29
- Meeting user → MeetQ interface: uses
- Meeting user → Meeting views: views meetings
- Meeting user → Query view: asks questions
- MeetQ interface → API client: requests data
- Meeting views → API client: requests meetings
- Query view → API client: submits queries
- API client → Meeting API: calls
- API client → Authentication API: calls
- API client → RAG API: calls
- Local Meeting Agent → LMA WebSocket endpoint: streams chunks
- LMA WebSocket endpoint → Chunk receiver: dispatches
- Chunk receiver → Connection manager: registers connection
- Chunk receiver → PostgreSQL: stores chunks
- Chunk receiver → Processing coordinator: starts on disconnect
- Processing coordinator → Transcript cleaning: runs cleaning
- Processing coordinator → Summary pipeline: runs summarization
- Transcript cleaning → Cleaning methods: cleans English
- Transcript cleaning → LLM cleaning: cleans mixed speech
- Transcript cleaning → PostgreSQL: reads and writes chunks
- LLM cleaning → Ollama client: requests inference
- Summary pipeline → Summary stages: summarizes and extracts
- Summary pipeline → PostgreSQL: reads chunks, saves summary
- Summary pipeline → Ollama client: requests generation
- Ollama client → Ollama service: generates text
- RAG API → Time query parser: parses query
- RAG API → RAG service: searches meetings
- RAG service → Embedding client: embeds query and chunks
- RAG service → PostgreSQL: stores vectors, retrieves chunks
- Embedding client → Ollama service: requests embeddings