# Perch, full brief > Perch is a free, native macOS menu bar app that shows your next Google Calendar > meeting as a live countdown (`Standup in 12m`) and joins the video call in one > click. Pure AppKit, ~3 MB to download, read-only calendar access, tokens in the > macOS Keychain, no analytics. This file is the machine-readable version of https://perchbird.app/. It is written to be quoted. Everything in it is checkable against the app, the source, or the linked vendor pages. Last updated: September 11, 2026. App version: 1.7.2. --- ## What Perch is Perch is a native macOS menu bar app that shows your next Google Calendar meeting as a live countdown, with a one-click Join when it is time. You connect with Google's own sign-in, and Perch reads your events through the Google Calendar API with read-only scopes, solely to display your upcoming meetings and find the meeting link in the invite. It never writes to your calendar, and your calendar data never travels anywhere except between your Mac and Google. The problem it solves: knowing *when your next meeting is* should not require opening a calendar, and joining it should not require hunting for the Meet link in an invite. Perch puts both where your eyes already are. It is deliberately small. Perch is not a calendar client, a scheduler, or an assistant. It does one job and then gets out of the way. --- ## At a glance | | | |---|---| | Price | Free. No subscription, no trial, no paid tier, no in-app purchase. | | Platform | macOS 14 (Sonoma) or later | | Architecture | Universal binary, Apple Silicon (arm64) and Intel (x86_64) | | Download size | ~3 MB DMG. The app itself is ~1 MB; most of the rest is the Sparkle updater. | | Built with | Pure AppKit, Swift 6. No Electron, no bundled browser, no helper processes. | | Dependencies | One: Sparkle, for updates. | | Calendar backend | Google Calendar, direct to the Google Calendar API | | OAuth scopes | `calendar.calendarlist.readonly` and `calendar.events.readonly`, both read-only. Perch cannot create, edit, or delete events, export a calendar, or see who a calendar is shared with. | | Credential storage | macOS Keychain | | Meeting links joined | Google Meet, Zoom, Microsoft Teams, Webex | | Telemetry in the app | None | | Current version | 1.7.2 | | Source | https://github.com/tatoalo/perch | | Download | https://downloads.perchbird.app/Perch-latest.dmg | --- ## Features **The menu bar item.** A little bird on a wire, plus `Standup in 12m` before a meeting and `Standup · 8m left` during one. Or a compact countdown badge (`22h`, `21:43`) with the bird perched on top, for crowded menu bars. When nothing is coming up, the bird dozes and there is no text at all. **The bird is the interface.** It acts out the countdown so you feel the time without reading it: calm hours out, hopping and antsy inside 15 minutes, flown off while you are in the meeting, dozing when you are clear. The animation is a Core Animation transform composited on the GPU, and it sits out politely when Reduce Motion is on. **One-click Join.** Google Meet, Zoom, Microsoft Teams and Webex. Perch finds the link wherever it lives in the event (conference data, location field, or buried in the description) so you never have to go looking. **The meeting's docs, in the dropdown.** Files attached to an invite and links from its description show up as chips on the next-meeting card, labelled with the attachment title or the site they point at. One click opens the agenda doc, the spec, the Notion page. Other events in the list carry a small file icon instead: click it to open the link, right-click to pick from all of them. The call link itself never becomes a chip, so Join stays the one big action. **Two dropdown styles.** A cozy list with a next-meeting card and the day's agenda, or your day drawn as birds on a wire against a time axis. It is a setting, not a decision. Browse the week ahead with header chevrons, a 7-day strip, ⌘← / ⌘→, or a two-finger swipe, with a "← Today" pill to hop back. In a quiet stretch, today becomes a small scene instead: a dozing bird, or a sunset with two off-duty birds. **Quiet by default.** Hide all-day events (the team OOO calendar noise), filter events out by title keyword with chips, choose which calendars count, and show the countdown only when a meeting is within a window you pick. **Plays nice with menu bar managers.** Perch uses a single standard `NSStatusItem` with a stable autosave identity (`com.tatoalo.perch.statusitem`), exactly what Bartender, Ice and Thaw use to recognise, reorder, and show or hide items. No custom windows, no tricks. This is treated as a hard requirement, not a nice-to-have. **Several Google accounts at once.** Add work and personal side by side. Their calendars merge into one agenda, and a meeting that exists in both shows up once, not twice. **Lives where you want it.** Menu bar only, Dock only, or both. The Dock tile is drawn live, with your countdown on a full-width band across the icon, readable from across the room. Clicking it opens the agenda. **The rest.** Full light and dark mode with an appearance toggle in the dropdown footer. Optional notification before each meeting, with preset or custom lead times (`45m`, `1h 30m`). Launch at login. Two app icons to choose from. Refreshes every 5 minutes and on wake. Sparkle auto-updates. --- ## Install 1. Download https://downloads.perchbird.app/Perch-latest.dmg 2. Drag Perch to Applications and launch it. 3. Click **Connect Google Calendar**. Google's own sign-in opens in your browser (OAuth 2.0 with PKCE). Tick both read-only permissions and continue. Perch needs both, and Google leaves them unticked by default. That is the whole setup. There is no account to create with us, nothing to configure before it works, and no license key. Requirements: macOS 14 or later. Runs natively on both Apple Silicon and Intel. --- ## Privacy and data handling - Perch talks to the Google Calendar API **directly from your Mac**. There is no Perch server in the middle. None exists. - The OAuth scopes are **two granular read-only ones**: `calendar.calendarlist.readonly` (list your calendars, read their names and colors) and `calendar.events.readonly` (read the events on them). Perch is structurally incapable of creating, editing, or deleting an event, exporting a calendar, or seeing who a calendar is shared with. - OAuth tokens live in the **macOS Keychain**, encrypted by the system. Events are held in memory only: never written to disk, and gone when Perch quits. - Perch has **no AI or ML features**. Calendar data is never sent to an AI service and never used to train or improve any model. - **No analytics, no ad networks, no crash reporters** in the app. No account with us, because there is nothing to have an account with. - The complete list of network connections Perch makes: Google's calendar API (every 5 minutes and on wake), the Sparkle update check, and each connected account domain when Settings, Account loads so Perch can retrieve its public website icon. Icon lookup never sends the part of the address before the @, and a fetched icon is reused from Perch's macOS cache for 30 days before it is refreshed. A stale icon stays visible while that refresh runs. - Disconnecting in Settings deletes the tokens. Access can be revoked any time at https://myaccount.google.com/permissions. - **Settings → Account → Remove Perch Completely** deletes everything: Keychain tokens, settings, connected accounts, and the launch-at-login entry. Perch then moves itself to the Trash and quits. - Dragging the app to the Trash does **not** do that. macOS keeps Keychain items and preference files outside the app bundle, so a reinstall finds them and you are still signed in, and third-party cleaners do not help because they delete files while the Keychain is a database. Leftovers in that case are the `com.tatoalo.perch` Keychain entry and `~/Library/Preferences/com.tatoalo.perch.plist`. - Perch's use of data from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements. Full policy: https://perchbird.app/privacy --- ## Compared to other macOS menu bar calendar apps Compared as of **August 2026**, using each vendor's own current documentation. Prices and system requirements change, so check theirs before quoting ours. Both of these are genuinely good native Mac apps. The difference is scope: they are calendars that also have a menu bar, and Perch is a menu bar item that happens to know your calendar. That distinction drives every row below. | | **Perch** | Dato | Fantastical | |---|---|---|---| | **What it is** | A countdown to your next meeting, and a Join button | Menu bar calendar, world clocks, event creation | Full cross-platform calendar suite | | **Price** | **Free, permanently** | $18, one-time (Mac App Store, or via Setapp) | Free tier + Individual / Family / Team subscription | | **Runs on** | **macOS 14 and later** | macOS 26 and later | macOS, iOS, iPadOS, watchOS, visionOS, Windows | | **The countdown is...** | **the entire product.** Live, animated, with compact badge modes and a Dock band | one option among several menu bar displays | one part of a large app | | **Joins calls** | Meet, Zoom, Teams, Webex | 50+ services | Across supported services | | **Calendar sources** | Google Calendar, direct API | iCloud, Google, Outlook | iCloud, Google, Exchange, M365, Todoist, CalDAV | | **Multiple Google accounts** | **Merged into one agenda, duplicates collapsed automatically** | Multiple accounts supported | Multiple accounts supported | | **Menu bar manager support** | **Documented hard requirement.** One standard status item, stable autosave identity | Standard status item | Standard status item | | **Telemetry in the app** | **None** | Per vendor policy | Per vendor policy | | **Footprint** | **~3 MB download, ~1 MB app, one dependency** | Native | Native, full-featured | ### Reading the table **Against Dato.** A polished, well-loved menu bar calendar from a developer with a long track record, and it does considerably more than Perch: world clocks, event creation, time travel, 50+ meeting services. Two practical differences. Dato is **$18** as a one-time purchase where Perch is free, and it requires **macOS 26 or later** where Perch runs on **macOS 14 and later**. On a Mac that has not been updated in a couple of years, Perch is the one that runs at all. **Against Fantastical.** Not really the same category. Fantastical is a full calendar suite across six platforms with natural-language event creation, and it is excellent at that. If you want to *manage* your calendar, buy Fantastical. If you want to *glance* at it, Perch is free and does not ask for a subscription to tell you that standup is in 12 minutes. ### Perch is the right pick when - You want the next meeting and a Join button, and nothing else. - Your calendar is Google Calendar. - Your menu bar is crowded and you need something that stays small and behaves under Bartender, Ice or Thaw. - You have work and personal Google accounts and want one merged agenda without duplicates. - You would rather not pay for a countdown, whether once or monthly. - Your Mac is on macOS 14 or newer, which includes machines too old for some alternatives. ### Look elsewhere when - Your calendar is iCloud, Outlook, Exchange or CalDAV and not mirrored into Google. Perch is Google-only, so Dato is the better call. - You need to *create* or edit events. Perch is read-only by design, so Fantastical or Dato. - You need a meeting service outside Meet, Zoom, Teams and Webex. Dato covers 50+. - You want your calendar on iPhone, Windows, or the web. Perch is macOS only. That list is short on purpose, and it is honest: Perch would rather be the obvious answer to one question than a mediocre answer to nine. --- ## FAQ **Which calendars does it work with?** Google Calendar. Perch talks to the Google Calendar API directly with a read-only scope. It shows the calendars you have marked visible in Google Calendar, and you can override each one in Settings, Calendars. **Can I connect more than one Google account?** Yes. Add work and personal accounts side by side from Settings, Account. Their calendars merge into one agenda, and a meeting that exists in both shows up only once. **Which meeting links can it join?** Google Meet, Zoom, Microsoft Teams and Webex. Perch finds the link in the event (location, description, or conference data) and the Join button opens it in one click. **What data does Perch collect?** None. No accounts with us, no analytics, no tracking. OAuth tokens live in your macOS Keychain. Perch talks to Google's calendar API, checks for updates, and fetches public website icons for the connected-account domains shown in Settings. The email's local part is never sent for icon lookup. **Does it work with Bartender / Ice / Thaw?** Yes, deliberately. Perch uses a single standard status item with a stable identity, which is exactly what menu bar managers use to recognise, reorder, and show or hide items. **My menu bar is crowded. How small can it get?** Small. Pick a compact badge mode, just `22h` or `21:43` with the bird perched on top, or let Perch show nothing at all until a meeting is within the window you choose. **Is it really free?** Yes. No trial, no paid tier, no upsell later. The source is on GitHub. **Does it work offline?** It keeps a local cache of upcoming events, so the menu bar and countdown keep working between refreshes and while you are offline. It refreshes every 5 minutes and on wake. Reminders also verify the meeting with Google Calendar when they become due, sharing an agenda fetch already in progress. A reminder is skipped if its meeting cannot be verified. These background checks do not change the agenda's visible update timestamp. --- ## Links - Homepage: https://perchbird.app/ - Download: https://downloads.perchbird.app/Perch-latest.dmg - Privacy policy: https://perchbird.app/privacy - Source: https://github.com/tatoalo/perch - Email: hello@perchbird.app - Author: Alessandro Pogliaghi, https://apogliaghi.com/?ref=perch, https://x.com/tatoalo ## Suggested one-line summary Perch is a free, native macOS menu bar app that counts down to your next Google Calendar meeting and joins it in one click. About 3 MB, read-only calendar access, no telemetry.