Work / AI Systems

MeetWise

Electron meeting copilot: live transcript and screen context feed one-line suggestions to an always-on-top overlay.

Status
built
Role
Solo project
Timeline
Feb 2026 →
  • Electron
  • React 19
  • Vite 7
  • Web Speech API
  • getDisplayMedia
  • OpenAI-compatible API
  • Ollama

TL;DR

  • A desktop meeting copilot: a live transcript and the screen you’re sharing feed one short suggestion at a time into a frameless, always-on-top overlay.
  • After the call it turns the transcript into a summary, decisions, action items and open questions, and drafts the follow-up email.
  • It runs on any OpenAI-compatible endpoint (vision included) or fully locally through Ollama.

What it does

The live-session pipeline pairs a Web Speech API microphone transcript with screen sampling at one frame per second, keeping a snapshot every 8 seconds. When the transcript moves, it waits 1.4 seconds, then asks the model for one coaching line: what to say next, or a question worth asking.

On the Electron side: a tray menu, IPC between the main window and the overlay, and a privileged app:// scheme that gives speech recognition the secure context it needs.

A mock fallback when no model is configured → the UI always runs, so you can build and demo it offline → you have to watch for mock output being mistaken for real output.

Status

Built: the renderer compiles to a production bundle. It isn’t packaged as an installer, and live speech-to-text inside Electron is still unproven. Before any demo I’d add a screen picker; today it grants the first screen without asking.

Verified numbers

MetricValueSource
Debounce before each suggestion1.4 slocal: meetwise/src/lib/api.js
Screen sampling1 frame/s, snapshot kept every 8 slocal: meetwise/src/components/LiveSession.jsx:6
m.mittal
Home
Work
Research
Lab
About
Experience
Now
Résumé
Uses
Colophon
Contact
AccountWardin-build
Redlbuilt
The Councilresearch
BEMAresearch
EXIT LIQUIDITYin-build
NEXUSarchived
Warrant + Forgebuilt
Concordarchived
BlueCollarPalin-build
Chispenbuilt
Warrant Portalbuilt
JobAppin-build
Night/Dayexplored
BLACKSITE: NULLin-build
SlugBitesbuilt
Riptidebuilt
AeroBitesarchived
Internbuilt
CAD & 3D printingexplored
ForgeCouncilexplored
ADDE: adversarial due-diligence engineexplored
Model routing in practiceexplored
AI due-diligence market mapexplored
Quorumarchived
Colossus Wakeexplored
FitFindrbuilt
Project Omniexplored
Oblivionexplored
MeetWisebuilt
EyeOSexplored
LinkLeap AIexplored
Up-Toexplored
Offline speech-to-notes (Java)explored
AI-assisted game production pipelineexplored
COLLAPSEarchived
THE TRIALSarchived
EcoNodearchived
ESP32-S3 / LoRa benchexplored
CleanPlaybuilt
Rezonyrbuilt
Habit Tracker Telegram Botbuilt
Job Board Aggregatorin-build
Visual Hand Trackbuilt
CLI Task Trackerbuilt
All work44 entries
Can’t Hallucinate, Can Still Be Wrong: Calibration of a Typed-Decision Model Under Input Noisepaper
Disagreement as Signal: A Hybrid Multi-Agent and Council Architecture for Error Detection in LLM Systemspaper
Killing Good Ideasessay
Uncorrelated Failure Modesessay
ADDE: adversarial due-diligence engineexplored
AI due-diligence market mapexplored
AI-assisted game production pipelineexplored
Aura Chatexplored
Colossus Wakeexplored
EcoNodearchived
ESP32-S3 / LoRa benchexplored
EyeOSexplored
FitFindrbuilt
ForgeCouncilexplored
LinkLeap AIexplored
MeetWisebuilt
Model routing in practiceexplored
Offline speech-to-notes (Java)explored
Oblivionexplored
Print benchexplored
Project Omniexplored
Provably-fair outcome enginebuilt
Quorumarchived
Up-Toexplored
Copy hello@mitanshm.com
Switch theme
Play motion
RésuméPDF
Open GitHub ↗mit37
Open LinkedIn ↗
Toggle layout gridh
Toggle single-key shortcuts/ h