The mental lightness of Antinote with the workbench soul of TextMate: throwaway notes, navigable by swipe, with :: commands and live format preview.
Features • Install • Shortcuts • Build from source • Acknowledgments • Project • License
ScratchMate opens instantly from a global hotkey and hands you a buffer that understands code. Write, transform with
::commands, swipe to the next note, throw it away. Nothing you type leaves your Mac.
product: ephemeral scratchpad for developers, native to macOS
platform: macOS 14+, Swift + AppKit, Liquid Glass on macOS 26
open: global hotkey, menu bar app, no Dock icon
commands: :: text commands (format, transform, preview) inside the buffer
storage: local SQLite only, no account, no cloud, no sync
install: Homebrew cask or signed DMG from Releases
license: MITScratchMate opens instantly from a global hotkey and hands you a throwaway buffer that understands code. It lives in the menu bar, has no account and no cloud, and nothing you write leaves your Mac. Everything is local in SQLite. The capture is native Swift on AppKit, the glass is the system material, and the whole thing is designed to disappear the moment you stop typing.
- Ephemeral note deck (Antinote style). A floating window that opens on a hotkey, hides on blur, and saves itself. Swipe two fingers sideways (or
Cmd+[/Cmd+]) to move through notes; swiping past the newest creates a fresh one. - Command palette (
::orCmd+K) with native text commands: insert date, UUID, format JSON, sort lines, dedupe, case transform, comment lines, wrap selection, copy as code block, export markdown. - Find across all notes (
Cmd+F) with a search bar that filters every note as you type. - Live preview (
Cmd+R) of markdown, JSON and code by language. - Native look. Liquid Glass material (with a graceful fallback below macOS 26), eight themes, adjustable translucency, hover reveal chrome, and full respect for Reduce Transparency, Reduce Motion and Increase Contrast.
- Local first. Notes live in SQLite with optional auto expiration. No account, no telemetry, no cloud.
- Global hotkey via Carbon, so it needs no Accessibility permission.
brew install --cask leonardocandiani/tap/scratchmateGrab the latest .dmg from Releases, open it, and drag ScratchMate to Applications.
ScratchMate is ad-hoc signed (not notarized yet). If macOS blocks the first launch:
xattr -rd com.apple.quarantine /Applications/ScratchMate.app| Shortcut | Action |
|---|---|
| CmdShiftSpace | Toggle the window |
| CmdK | Command palette |
| CmdF | Find across notes |
| CmdR | Toggle preview |
| Cmd[ | Older note |
| Cmd] | Newer note |
| CmdN | New note |
| CmdP | Pin to screen |
| Cmd, | Settings |
You can also type :: anywhere to open the command palette inline.
swift build
swift test --scratch-path .build-cli # 49 tests
./Scripts/make-app.sh debug
open dist/ScratchMate.appScratchMate references macOS 26 symbols (NSGlassEffectView) for Liquid Glass,
guarded at runtime with if #available(macOS 26, *) and falling back to
NSVisualEffectView. Building requires the macOS 26 SDK (Xcode 26); the minimum
deployment target stays at macOS 14.
- Antinote for the ephemeral, hotkey-first scratchpad model.
- TextMate for treating text as a programmable surface.
- Krit for the native macOS OSS scaffolding.
- Contributing for how to set up, build and send changes.
- Code of Conduct for community expectations.
- Security policy for reporting vulnerabilities.
- Changelog for release notes.
- Third party notices for bundled dependencies.
MIT. See LICENSE.
Built by Leonardo Candiani · More projects at github.com/leonardocandiani
Leonardo Candiani builds AI agents that talk, decide and close deals. Cofounder of SixQuasar, operating Proteauto, SegSmart and IACall end to end.