I built a small open-source meeting detection engine for macOS.
The goal is to provide a simple and accurate way for apps to know when a user is in a Zoom/Meet/Teams/Webex meeting.
A lot of meeting recorders, productivity tools, and focus apps try to detect meetings, but the results are often unreliable. Some apps pop up “You’re in a meeting” suggestions even when nothing is happening. I wanted something that works consistently and is easy for developers to integrate.
The engine is written in Rust and exposed to Node/Electron via napi-rs.
It runs a lightweight background loop and uses two tiers:
1. Native app detection (Zoom, Teams, Webex)
• process detection
• meeting-related network activity
2. Browser meeting detection (Google Meet, Teams Web, Zoom Web, Webex Web)
• reads browser tabs via AppleScript
• validates meeting URL patterns
• supports Chrome, Safari, and Edge
It exposes a very simple JS API:
init();
onMeetingStart((_, d) => console.log("Meeting started:", d.appName));
onMeetingEnd(() => console.log("Meeting ended"));
console.log(isMeetingActive());
Would love feedback, especially from anyone building recorders, focus apps, calendar tools, etc.
Windows + Linux support coming next.
reply