In Meeting is a native macOS utility built for smart home enthusiasts and privacy-conscious users. Whether you want to toggle a physical "Do Not Disturb" status light outside your home office door using Home Assistant webhooks, or you want to be alerted instantly with a macOS notification whenever a background application silently accesses your camera or microphone, In Meeting handles it seamlessly.
A lightweight macOS utility that instantly triggers webhooks to update your home automation status lights (free/busy) and displays native notifications the second any app accesses your camera or microphone. Unlike heavy log-polling scripts, it relies entirely on native macOS framework observers, resulting in near-zero CPU and battery impact.
![]()
brew install fellowgeek/tap/in-meeting
Looking to build from source with Xcode? See How to Build and Run.
SMAppService API to launch automatically when you log in.{{device_name}}) in URL queries to support devices with spaces or parentheses.{{device_name}}, {{device_type}}, {{device_status}}, {{timestamp}}).~/.in-meeting containing "active" or "inactive" on hardware state changes, enabling seamless integration with external shell scripts, terminal prompts, and status bars (such as SketchyBar or tmux).In Meeting is designed around zero polling and low overhead. Rather than using background subprocesses to stream system logs, it registers directly with low-level macOS hardware event listeners via CoreAudio (microphones) and CoreMediaIO (cameras), yielding instant detection with near-zero CPU and battery usage.
Key pipeline stages:
AVCaptureDevice and monitors connection/disconnection events.kAudioDevicePropertyDeviceIsRunningSomewhere via CoreAudio and CoreMediaIO property listener blocks.~/.in-meeting status indicator, and dispatches HTTP/HTTPS webhooks with retry capabilities.For comprehensive architectural diagrams, component maps, and implementation details, see ARCHITECTURE.md.
com.apple.security.app-sandbox set to false in entitlements to allow access to global hardware CoreAudio/CoreMediaIO registers).In Meeting values your confidentiality:
If you prefer a precompiled application bundle, you can install it using Homebrew:
brew install fellowgeek/tap/in-meeting
Once installed, open your Applications folder and launch In Meeting.app.
⌘R) to build and launch the application.~/.in-meeting.UserDefaults storage and synchronizes Launch at Login.32 commits
Swift
100.0%
In Meeting is a native macOS utility built for smart home enthusiasts and privacy-conscious users. Whether you want to toggle a physical "Do Not Disturb" status light outside your home office door using Home Assistant webhooks, or you want to be alerted instantly with a macOS notification whenever a background application silently accesses your camera or microphone, In Meeting handles it seamlessly.
A lightweight macOS utility that instantly triggers webhooks to update your home automation status lights (free/busy) and displays native notifications the second any app accesses your camera or microphone. Unlike heavy log-polling scripts, it relies entirely on native macOS framework observers, resulting in near-zero CPU and battery impact.
![]()
brew install fellowgeek/tap/in-meeting
Looking to build from source with Xcode? See How to Build and Run.
SMAppService API to launch automatically when you log in.{{device_name}}) in URL queries to support devices with spaces or parentheses.{{device_name}}, {{device_type}}, {{device_status}}, {{timestamp}}).~/.in-meeting containing "active" or "inactive" on hardware state changes, enabling seamless integration with external shell scripts, terminal prompts, and status bars (such as SketchyBar or tmux).In Meeting is designed around zero polling and low overhead. Rather than using background subprocesses to stream system logs, it registers directly with low-level macOS hardware event listeners via CoreAudio (microphones) and CoreMediaIO (cameras), yielding instant detection with near-zero CPU and battery usage.
Key pipeline stages:
AVCaptureDevice and monitors connection/disconnection events.kAudioDevicePropertyDeviceIsRunningSomewhere via CoreAudio and CoreMediaIO property listener blocks.~/.in-meeting status indicator, and dispatches HTTP/HTTPS webhooks with retry capabilities.For comprehensive architectural diagrams, component maps, and implementation details, see ARCHITECTURE.md.
com.apple.security.app-sandbox set to false in entitlements to allow access to global hardware CoreAudio/CoreMediaIO registers).In Meeting values your confidentiality:
If you prefer a precompiled application bundle, you can install it using Homebrew:
brew install fellowgeek/tap/in-meeting
Once installed, open your Applications folder and launch In Meeting.app.
⌘R) to build and launch the application.~/.in-meeting.UserDefaults storage and synchronizes Launch at Login.32 commits
Swift
100.0%