MeetPilot is a lightweight demo of a Smart Video Assistant built with Stream Video + Stream Chat, and a Realtime LLM backend for live transcription and Q&A.
Features
- β Live video & chat using Stream
- β Real-time captions and transcripts
- β Meeting assistant ("Hey Assistant") for quick Q&A and meeting summaries
- β Modern dark UI with responsive behavior
Quick start π
Prerequisites
- Node.js (>=18) and npm/yarn/pnpm
- Python 3.13+ (backend uses
pyproject.toml) - A GetStream account and API key (for video/chat) β set as env vars (see below)
- Clone the repo
git clone https://github.com/YOUR_USER/YOUR_REPO.git
cd YOUR_REPO- Backend (Python)
# Windows (PowerShell) cd backend python -m venv .venv .\.venv\Scripts\activate # install dependencies (use poetry if you prefer): # poetry install pip install -r requirements.txt # if you keep a requirements file # or install from pyproject (pip should read pyproject metadata): pip install . # Run the assistant (example) python .\main.py
- Frontend (Next.js)
cd meetpilot npm install # Create your .env.local from .env.example (see repo) and add your Stream keys npm run dev # Open http://localhost:3000
Environment variables (example)
- backend/.env
- CALL_ID (optional, random generated if missing)
- STREAM_API_KEY, STREAM_API_SECRET (as required by your vision_agents/getstream setup)
- meetpilot/.env.local
- NEXT_PUBLIC_STREAM_API_KEY
- any other NEXT_PUBLIC_* keys your project expects
Troubleshooting & tips
- If you see: "Use client.disconnect() before trying to connect as a different user", check
app/hooks/useStreamClients.jsβ the hook handles safe reconnects. - Strict Mode (React dev) can run effects twice; the hooks in this repo guard against double joins/disconnects.
Contributing
- Feel free to open issues or PRs β document your changes and keep commits small.
License
- MIT
If you'd like, I can also add a setup.sh / setup.ps1 script to automate environment scaffolding.