Back to floatbird
macOS · menu bar app

filter

Your Mac buzzes all day, and the one notification you needed scrolls past with the rest. filter is a plain-English VIP filter for the whole stream: you write rules the way you’d say them, it matches every incoming notification on your device, and re-raises only the ones that matter, as its own sticky alerts. It highlights; it never summarizes, and nothing leaves your Mac.

The papercut

Notifications are all-or-nothing. You either leave an app on, and drown in its banners, or turn it off, and miss the one that counted: the deploy alert from Azure, the Slack thread where someone finally mentioned you, the email about a deal you’re tracking. macOS has Focus modes and per-app toggles, but no way to say “these are important and everything else can wait,” in your own words, across every app at once.

What filter does

It lives in the menu bar and watches the notifications macOS delivers, from every app. You give it rules in plain English, one per line, toggleable:

  • email from Azure about the Postgres database
  • mentioned in Slack, or messages about Ford Motor Company

Each incoming notification is matched against your rules two ways, both on-device: a fast literal pass catches named things (“Ford”, “Azure”), and Apple’s built-in language model catches the paraphrases a literal pass would miss (“the database is down” against a rule about “Postgres problems”). When one matches, filter re-raises it, verbatim, as its own alert, and lists it in a Highlights feed with a note of which rule caught it. Set filter to the persistent Alerts style and your chatty apps to temporary Banners, and the only notifications that linger are the ones that earned it.

On-device, by construction

Something that reads all your notifications has no business sending them anywhere. So filter doesn’t: classification runs entirely on your Mac with Apple’s bundled NaturalLanguage model: no account, no API key, no network. It needs two grants, each with a plain reason: Notifications, to re-raise the important ones, and Full Disk Access, because macOS offers no API to observe other apps’ notifications, so filter reads the system notification log directly, read-only, never writing to it. The matching logic is a small, unit-tested engine with no dependency on any of that, which is also the seam where a cloud classifier could drop in later if the on-device model ever proves too blunt.