Ledge gives Mac developers a Developer page in the notch: git status for the repo you have open, the ports currently in use, terminal shortcuts, Claude usage, and system stats for CPU, memory, and network. One panel that unrolls when you push the cursor into the notch and collapses when you move away. It's offered on first run alongside the Everyday page.
I built the Developer page for myself first. Everything on it is a widget I wanted while I was building the app.
What the Developer page includes
The Developer page groups the widgets a working Mac developer checks between builds. You can rearrange or drop any of them; the default set is what I keep.
- Git status. Current branch, ahead/behind, dirty files.
- Ports. Which local ports are listening and which process owns each one.
- Terminal shortcuts. Named commands you run often, one click each.
- Claude usage. Track your session against the widget so you know where you are before context runs out.
- System stats. CPU, memory, and network as small live graphs.
- Clipboard history. The last things you copied, ready to paste.
- Scratchpad. A place for a snippet, a token, a note you don't want in Notes.
- Now Playing and quick toggles. Because you still have to skip a track and turn Bluetooth off.
You can add any other Ledge widget too: calendar, weather, timer, screenshot shortcuts. The Developer page is a starting point, not a fixed dashboard.
Git status without leaving the editor
Command-Tab to a terminal, run git status, read six lines, come back. Or push into the notch, glance at branch and dirty-file count, keep working. The widget shows the branch you're on, how far ahead or behind origin you are, and how many files are modified, staged, and untracked. Click through to open the repo in your usual tool.
For monorepo folks, the widget follows whichever repo your active app is working in.
Ports and processes in one place
lsof -i -P returns the answer, but not at a glance. The ports widget lists the ports currently in use on the Mac with the process behind each one. When two dev servers fight over 3000 you see it in the notch before you see it in the terminal. Kill or open from the widget rather than digging up the PID.
I lost most of an afternoon once to a stray next dev I forgot was running. This widget exists because of that afternoon.
Terminal shortcuts you actually reuse
The terminal-shortcuts widget stores commands you name and run with a click: pnpm dev, docker compose up -d, the migration you never remember. It's not a terminal and it doesn't replace tmux or your shell history. It's a place to keep the eight commands you type ten times a day so you stop typing them.
Claude usage as a first-class widget
If you use Claude Code, the widget tracks your current session. Knowing where you are before the context bar turns red is the difference between a clean handoff and a re-prompt. It sits next to the other dev widgets, not in a separate menu-bar app.
Everything else stays local
Ledge has no account, no analytics, no server. Git status is read from your working directory. Ports come from the local process table. Clipboard history and the scratchpad live on the Mac. If a repo has credentials in the path, that path never leaves the machine, because there's nowhere for it to go.
That matters more for developer tools than for anything else in the app. The Developer page is looking at repositories, ports, and command history. None of it is worth uploading.
What Ledge doesn't try to be
Ledge is a widget panel in the notch. Not a git client, not a terminal, not a full IDE sidebar. The git widget shows status; the ports widget shows what's bound; the terminal-shortcuts widget runs commands. If you want a full merge tool, use one. This is the glance.
Requirements and price
Apple Silicon Mac, macOS 14 Sonoma or later. Works best on a MacBook with a notch. On a Mac without one the panel drops from the top edge of the display.
Pricing is a one-time purchase, no subscription. $25 for 1 Mac, $35 for 2, $45 for 3, with a 7-day refund. License keys activate through Polar and are verified offline for 30 days at a time after that.
FAQ
Does the git widget work with private repos?
Yes. It reads your local working directory, the same way git status does. There's no cloud step.
Do I need to use the Developer page as-is? No. It's the starting layout on first run; you can rename it, add or remove widgets, or build another dev page next to it. Layouts are called pages in Ledge and you can switch between them in one click.
Does the ports widget work with Docker? Docker maps its container ports onto the host, and the widget sees those host ports the same as any other listening process.
Can I run shell scripts from the terminal-shortcuts widget? It runs commands you save, including scripts. It's not a REPL.
What about GitHub or GitLab pull requests? The Developer page doesn't include a PR widget. If you need one, the git widget covers status and branch; PR review still happens in your usual tool.
Is there a free tier? No. It's a one-time paid app with a 7-day refund window if it isn't a fit.