Personal apps

MeetingHub

Full-screen meeting alerts with one-click join from the menu bar

Platform
  • Mac
Status
Shipping
Stack
Swift, SwiftUI
Started
Replaces
In Your Face

MeetingHub exists so a meeting is never missed because a banner notification slid away or got buried under a full-screen app. It is a menu bar app that reads the calendars already synced to the Mac through EventKit, so there is no OAuth, no cloud account, and no subscription. It replaces In Your Face, which did the same job for a yearly fee.

The menu bar item shows the next event and a countdown that ticks every second, and swaps to a draining capsule with the time remaining once a meeting is under way. One minute before an event, or whatever lead time is set, a panel takes over every display, above full-screen apps, with the event title, time range, and a live countdown. If the event carries a Zoom, Teams, or Google Meet link in its URL, location, or notes, a Join button in that platform’s color opens it in one click; Outlook safelinks are unwrapped and Meet links are opened under the Google account that owns the invite. Dismiss, Escape, or one of the snooze pills (1 minute, 5 minutes, or until the event starts) clears it.

Other things it does:

  • Per-event lead time: put [alert:5] in an event’s title or notes. All-day and declined events are skipped by default, and an optional gentle notification can precede the takeover.
  • Event icons: a keyword resolver picks an SF Symbol for medical, travel, fitness, meals, and similar events; Settings has custom rules, ignored words, and a default icon.
  • 2Do task alerts: tag a task in 2Do with a trigger tag and give it a due time, and MeetingHub reads 2Do’s database and nags at a set interval until the task is done or rescheduled, the way the Due app does. Off by default.
  • Reschedule or cancel a single occurrence from a popover on the status item.
  • Settings tabs for General, Calendars, Tasks, Icons, and Sound cover lead time, snooze buttons, display choice, menu bar spacing, the wiggle animation, alert sounds, and launch at login.

Alerts are kept on time by holding off App Nap, which otherwise lets the scheduler timers drift by more than a minute on an idle menu bar app.