ClarityMeet - Meeting intelligence with transcript parsing, decisions, and minutes.
Teams lose track of decisions and action items buried in long meeting transcripts. Manually summarizing meetings is slow and inconsistent, and it is hard to answer follow-up questions about why a decision was made.
ClarityMeet parses uploaded transcripts, extracts decisions and action items, stores structured data and semantic embeddings, and provides a chat-style meeting intelligence endpoint. It can also generate concise meeting minutes from the stored context to make follow-up and accountability easy.
- Languages: Python, JavaScript
- Backend: FastAPI
- Frontend: React (Vite)
- Database: Supabase (PostgreSQL + pgvector)
- Storage: Supabase Storage (optional)
- AI models: Cloudflare Workers AI (@cf/meta/llama-3-8b-instruct, @cf/baai/bge-large-en-v1.5)
- id (int8)
- meeting_id (text)
- filename (text)
- meeting_date (date)
- item_type (text)
- data (jsonb)
- created_at (timestamptz)
- id (int8)
- meeting_id (text)
- filename (text)
- chunk_index (int4)
- content (text)
- timestamp_start (text)
- timestamp_end (text)
- created_at (timestamptz)
- embedding (vector)
- Create and activate a virtual environment.
- Install dependencies:
pip install -r requirements.txt
- Create a
.envfile in the repo root with:SUPABASE_URL=your_supabase_url SUPABASE_KEY=your_supabase_key
- Set Cloudflare Workers AI model IDs (optional overrides):
CF_CHAT_MODEL=@cf/meta/llama-3-8b-instruct CF_EMBED_MODEL=@cf/baai/bge-large-en-v1.5
- Start the API:
uvicorn src.main:app --reload
Hosted frontend: https://clarity-meet-five.vercel.app/
- Install dependencies:
cd frontend npm install - Start the dev server:
npm run dev
- Create tables
extracted_itemsandtranscript_chunks. - Enable
pgvectorand add anembeddingcolumn totranscript_chunks. - Create an RPC function
match_chunksfor vector similarity search. - Create a Storage bucket named
transcriptsif you want to store raw uploads.