Open Source — give it a star if it helps you

Your Intelligent Meeting
& Document Assistant

Capture meetings with real-time transcription, chat with your documents, and get AI-powered summaries — all running on your own server.

View on GitHub Self-Host It

Live Transcription

Real-time speech-to-text over WebSocket with speaker diarization, powered by Deepgram.

Smart Summaries

Automated meeting minutes and action items every 5 minutes, plus a final structured summary when you stop.

Interactive Chat

Chat with your past meetings and uploaded documents using full RAG context.

Document Upload

Upload PDFs and text files, they're ingested into your local ChromaDB vector store for instant retrieval.

Email Export

Send meeting summaries directly to any inbox via your own SMTP details, no third-party relay needed.

Notion Sync

Push summaries straight to a Notion page with your own integration token. Your notes, your workspace.

Your meetings stay yours

Kontext runs entirely on infrastructure you control. Transcripts, summaries, chat history, and uploaded documents never leave your server. There's no cloud sync, no analytics pipeline, no vendor lock-in.

  • All data stored locally — Postgres and ChromaDB for vectors
  • CORS and JWT auth configurable to your environment
  • SMTP credentials stay in your own .env
  • Notion token scoped to only the pages you choose
  • Open source, you can read every line, fork it, own it

100% self-hosting

Your server. Your data.

Up and running in minutes

Two ways to run Kontext — Docker Compose for the full stack, or start frontend and backend separately.

1

Clone the repo

git clone https://github.com/abeenoch/Kontext-Agent.git
cd Kontext-Agent
2

Set up your environment

Create a .env file in the project root with your keys:

GROQ_API_KEY=your_groq_key
DEEPGRAM_API_KEY=your_deepgram_key
JWT_SECRET=your_secret

# Optional integrations
SMTP_HOST=smtp.example.com
SMTP_PORT=587
SMTP_USER=you@example.com
SMTP_PASS=yourpassword
NOTION_TOKEN=your_notion_token
NOTION_PAGE_ID=your_page_id
3

Start with Docker Compose

docker compose up --build
Backend → localhost:8000 Frontend → localhost:5173

Backend

python -m venv .venv
. .venv/Scripts/Activate.ps1
pip install -r requirements.txt
uvicorn app.main:app --reload \
  --host 0.0.0.0 --port 8000
API → localhost:8000

Frontend

cd frontend
npm install
npm run dev
UI → localhost:5173

Works with the tools you already use

No new accounts. Just drop your credentials in .env and you're ready to go.

Email

After a meeting ends, chat with the agent in the meeting section telling it to email the structured summary to any address(es) using your own SMTP server. Works with Gmail, Outlook, Fastmail, or any provider.

SMTP_HOSTSMTP_PORTSMTP_USERSMTP_PASS

Notion

Push meeting summaries directly to a Notion page. Each meeting creates a structured entry with transcript highlights, action items, and timestamps, all in your own workspace.

NOTION_TOKENNOTION_PAGE_ID
K

Like what you see? Give it a star.

Kontext is fully open source. Fork it, extend it, run it your way. A star helps others find it.

⭐ Star on GitHub