Popnote
The itch
Most of what gets jotted down during a working day doesn't need keeping. A phone number to call back, three things to check before a meeting, a command to run later. A notes app files all of that alongside everything that matters, and a week later it's clutter. Popnote is a scratchpad for exactly that kind of note. It opens instantly, gets out of the way, and cleans up after itself.
What it does
Press ⌥P from any app and a small note opens in the bottom-right corner of the screen. Type, then press Escape or click anywhere else, and it disappears with focus back where you were. Unpinned notes delete themselves three days after you last touched them. ⌘P pins one to keep it, and deleted or expired notes sit in Trash for a week before they're really gone.
Typing [] starts a checkbox, - a bullet and 1. a numbered list, and ⌘↩ ticks an item off. An optional timer pops the note back up every so often so a to-do list doesn't drift out of mind. "Keep on top" floats the note over every app and Space until you close it. Holding ⌘ for half a second shows every shortcut. Notes are Markdown underneath, so copying one out reads cleanly anywhere. There's no account, no sync and no network access.
How it works
Popnote is a Swift package with two targets. PopnoteCore holds storage, expiry, checklists and settings, with no UI at all, so it can be unit-tested on its own. Notes live in SQLite. The app target is AppKit: a floating panel, an NSTextView subclass for the editor, a global hotkey and the menu bar item.
Expiry is a sweep rather than a timer per note. Each note's clock starts from its last edit. The sweep moves expired notes to Trash and empties Trash after seven days, and unpinning a note gives it a fresh clock, so a note pinned months ago doesn't vanish the moment it's unpinned.
What got hard along the way
Most of the work went into behaving well around the rest of macOS. The panel has to vanish when you switch away, and early versions got Spaces wrong. Changing Space would flash the note on the new Space before hiding it, and closing the note could hand focus to an app on another Space, which yanked you over there. The fix gave Settings one choice where there had been two overlapping toggles: when you switch away, hide it, or keep it on top. In hide mode the note fades out on the Space you left. In keep-on-top mode ⌥P closes it in one press even while another app is in front, and focus stays with that app.
The hotkey recorder was another source of quiet bugs. It kept listening after its window closed and swallowed keys typed into notes. It would accept a shortcut another app already held, or one of Popnote's own menu shortcuts like ⌘C, which would then be taken from every app on the Mac. It now rejects those, registers a new shortcut only once both key and modifiers are saved, and falls back to the last working one if registration fails.
Some bugs were plain AppKit surprises. Copying the whole note with ⌘C when nothing is selected never worked, because NSTextView disables Copy for an empty selection and the shortcut never reached the override. Select All froze the app, because setting typing attributes mid-edit made AppKit read a selection that ran past the end of the new text.
The design changed shape too. The first full version was a terminal-styled note with a vim-like status line, a ⌘K command palette and themes like Tokyo Night and Gruvbox. The themes and the monospace font stayed. The palette, the status line and an export feature to Apple Notes, Obsidian and Bear all went, replaced by plain shortcuts and the hold-⌘ overlay.
Shipping it
Popnote is MIT-licensed and isn't notarized, since that needs a paid developer account. One script does the release:
The release asset keeps the same name every time, so the install script can always fetch the latest download. That script avoids the "can't be opened" warning entirely, because macOS only checks apps a browser or Homebrew marked as downloaded and curl doesn't set that mark. Homebrew installs go through the same personal tap as Marquee, plus one xattr command to clear the quarantine flag.
Where it stands
Popnote 1.0.0 was released on 2026-09-29, built in about two days, and has one star on GitHub. It runs on macOS 14 or later.