Notes at the speed of thought.
Your files. Your git. No cloud.

GitPad is a menu-bar notes app for macOS. One hotkey, plain Markdown files, sync through a git repo you own. No account, no server, no Electron.

Download for macOS
↑ That pill is the app. Double-click it, or press ⌥ Space.
Then keep scrolling — it’ll show you around.
macOS 13+ · v0.15 · signed & notarized · MIT · beta
01

Summon it.

⌥Space from any app. The panel opens on today’s note, floating over whatever you were doing. Type; it saves itself. Esc puts it away.

⌥ Spacetoggle
Eschide
02

Write. It formats itself.

Markdown styles as you type. A slash at the caret opens commands — /todo, /h1 and /bullets all answer. Lists and checkboxes continue on Enter and end when you leave one empty.

/commands
↩continues the list
03

Notes link to notes.

Type [[ and pick a title. The link opens that note — or creates it if there’s none. Any note that others point at says so in its status line. On disk it’s still plain Markdown.

[[link a note
04

It’s a file.

Each note is a real .md in ~/Documents/GitPad. Daily notes live in Daily/ by date. Open them in any editor, grep them, back them up. Uninstall GitPad and nothing happens to them.

~/Documents/GitPad/
├── Daily/
│   └── 2026-09-11.md ← this note
├── Vault threat model.md
├── Release checklist 0.16.md
└── .git/
05

Sync is a repo you point at.

Every save commits. GitPad pulls, merges and pushes over your own SSH keys to a remote you chose — on save, every five minutes, on wake. Only .md files reach the remote. A second Mac adopts the repo; a conflict keeps both versions.

Watching the note — every save becomes a commit.
06

Everything is one search away.

⌘L opens the Library: Pinned, Today, This Week, Earlier, plus your folders. Search spans every folder as you type. ⌘K finds a note or runs any command.

⌘ Llibrary
⌘ Kpalette
07

Lock it when you walk away.

On a Mac you don’t fully trust, the folder becomes an AES-256 disk image mounted at the same path. It detaches when the screen locks, the Mac sleeps, or you’ve been idle. The passphrase is sealed to the Secure Enclave and released by Touch ID.

08

Five themes. Every control.

System, Sepia, Nord, Dracula, Solarized Light. Each flips the whole window’s appearance, so every field and menu adapts — not just a tint.

09

Then it gets out of the way.

⌘M folds the app into a 240×40 pill that floats over your work. Drag it anywhere. ⌥Space brings it back.

⌘ Mto pill
iPhone · Coming soon

The same repo, in your pocket.

In progress, not shipped yet. GitPad for iPhone will clone the same private repo over your SSH key and commit every save, offline first. Same editor, same slash commands, same themes. The vault will open with Face ID.

Follow the iPhone build →
9:41
‹Library
Daily › Today
+
···
Standup — Thu
Shipped lock-when-idle for the vault. Homebrew installs now update from the button.
✓
Review Ana's sync PR
Cut the 0.16 release
Blocked: nothing
Threat model is in Vault threat model
Next: conflict diff on the phone
Saved · Synced just now
B
I
/
"The"theto
qwertyuiop
asdfghjkl
⇧zxcvbnm⌫
ABC↩
9:41
‹Note
Library
+
Search all notes…
Recent
Daily
Inbox
Work
PINNED
Vault threat modelSep 9
TODAY
Standup — ThuDaily14:02
Release checklist 0.1611:40
THIS WEEK
Vault lock when idleTue
Onboarding copyMon
EARLIER
Reading listAug 28
Conflict diff notesAug 21
Synced 2 min ago · origin/main
9:41
Vault locked
Your notes are encrypted on this iPhone. Only ciphertext is on disk until you unlock.
Unlock with Face ID
or type your passphrase
Locks when the phone does.
Install · Mac

One command. Or one drag.

Signed with a Developer ID and notarized by Apple, so Gatekeeper opens it without a warning. Checks GitHub about once a day and updates itself — after verifying the bytes match the published checksum. Never while you're writing.

Homebrew
brew trust stalinzbb/tap
brew install --cask stalinzbb/tap/gitpad
Direct download
GitPad.dmg — drag to Applications. macOS 13 or later. SHA-256 in every release note.
Download GitPad.dmg
Prefer to build it? git clone https://github.com/stalinzbb/GitPad.git && ./build.sh — Swift Package Manager, Xcode command-line tools, nothing else.
Questions
Why git?
It’s the most durable sync anyone already has: versioned, offline-first, portable, and yours. Nothing new to sign up for.
Do I need to know git?
No. Paste a repo URL once. If sync breaks, Settings names the cause — rejected key, changed host key, missing repo — and offers the fix. With the gh CLI installed it can create the private repo for you.
What if two Macs edit the same note?
Both versions are kept. The Conflicts screen highlights the lines that exist on only one side — Keep Mine or Use Theirs is a glance, not a read-through. A sync can never overwrite the note you have open.
Who can read my notes?
You, and whoever you give the repo to. There’s no server on our side. With the vault on, anything at rest on disk is AES-256 ciphertext; the ceilings are written down in SECURITY.md.
Why not Electron?
A notes app shouldn’t cost 300 MB of memory. Native AppKit is small, fast, and can float a panel over other apps the way a launcher does.
How do I leave?
Your notes are already a folder of Markdown. Settings → Erase GitPad from this Mac syncs first, then removes the folder, the vault, its Keychain entry, and the app.