Real-time body language feedback for video calls using AI vision analysis. Works with Google Meet, Zoom, Microsoft Teams, Slack, Discord, and Webex.
- Real-time monitoring every 30 seconds during active meetings
- Smart alerts for posture, facial expression, hand gesture, and appearance issues
- Post-meeting summary with scores, trend chart, and top action items
- Privacy-first behavior using your own API key, optional ephemeral mode, and local session storage
- Configurable sensitivity, notifications, and retention settings
- Chrome Extension Manifest V3
- Vanilla JavaScript (ES6+)
- Webpack 5 + Babel
- Anthropic Claude API and OpenAI API support
- Chart.js for summary visualizations
- Node.js 18+
- npm
- Google Chrome
- Anthropic or OpenAI API key
- Install dependencies:
npm install- Build extension:
npm run build- Load in Chrome:
- Open
chrome://extensions/ - Enable Developer mode
- Click Load unpacked
- Select
dist/
- Configure API key:
- Open extension popup
- Pick provider and paste key
- Set sensitivity/privacy preferences (alerts, retention, ephemeral mode)
- Click Validate key
- Save settings
- Join a video call on any supported platform (Google Meet, Zoom, Teams, Slack, Discord, or Webex) with your camera enabled.
- Extension auto-starts monitoring when self video is detected.
- You receive live notifications based on configured sensitivity.
- When meeting ends, summary page opens automatically.
npm run build
npm run dev
npm run frame-recorder
npm run lint
npm run formatsrc/
background/ service worker: analysis + notifications + sessions
content/ video capture + platform detection
popup/ settings/status UI
summary/ post-meeting report UI + chart
utils/ constants, API client, storage wrapper
- Run
npm run frame-recorderfrom the project root. - This starts a local server at
http://127.0.0.1:3131and saves frames topictures/. - Keep it running while the extension is active.
- Confirm camera is enabled in your video call platform.
- If the extension was installed while a meeting was already open, wait a few seconds or open the popup once; the service worker now auto-attaches the content script to existing tabs.
- If detection still does not start, refresh the meeting tab.
- Check content script console logs in DevTools.
- Re-check provider + key in popup.
- Confirm API credits/rate limits.
- Ensure extension has host permissions (included in manifest).
- Confirm Chrome notifications are enabled.
- Confirm notifications toggle is on in popup.
- Check cooldown behavior (2-minute anti-spam window).
- Anthropic/OpenAI image analysis incurs provider-side API costs.
- Approximate cost depends on model and meeting duration.
- Pitch outline:
docs/PITCH.md - Screenshot folder:
docs/screenshots/
MIT