Show HN: Meeting Detection – a small Rust engine that detects meetings on macOS
npmjs.comI 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. Thanks for sharing! Here's another approach that might interest you: https://github.com/RecapAI/Recap I believe it uses ScreenCaptureKit. In my tests it's not working though: https://github.com/RecapAI/Recap/issues/18 Nice work, thanks for making this! Would be great if music apps etc could just auto pause when you go into a call Currently, on Mac, your music's volume reduces when you get on a call. Ah cool. Didn't know that. I usually turn off the music before I open zoom anyway so I don't know why I'm asking for that