I have been token-maxing on Claude Code for about a year now. The financial cost is obvious. The other cost is less obvious. I have side projects everywhere. Half-finished prototypes. Three Next.js dev servers running. Two Python venvs I forgot about. A Docker compose stack from last weekend. One port that refuses to die.
I used to manage all of that with a terminal and a prayer.
Then I built Mast.
Mast is a macOS menu bar app. Click the icon and you see everything. Which ports are in use, and by which project. Which processes are eating memory. Which git repos are dirty or ahead of origin. Which Docker containers are up. Which Homebrew services are running. What the VPS is doing over SSH. It also reads GitHub (open PRs, CI status, per repo), because the browser tab is not a state machine.
It exists because I kept opening a Claude Code session and not knowing which localhost it would land on. Because I'd spin up port-3000 in one terminal, port-3000 in another, and curse Vite for forty seconds before I realised. Because I'd git push from the wrong directory more than once a week.
I did not write Mast line by line. I described what I wanted to Claude. I watched it build. I iterated on the parts that did not feel right. Then I shipped.
The stack: Electron 33, React, TypeScript, Tailwind, 520 Vitest tests, SSH ControlMaster for the VPS scanning so I am not opening a new connection every five seconds. None of which I would have written from scratch in any reasonable timeframe.
The hard part wasn't the scanning. It was the correlation. A port number is useless on its own. What I wanted was: port 3000 is the leonhoulier-site dev server, the process has been running for four hours, the repo is on branch feat/projects, CI is green. Eight scanners. One state store. A badge computer that decides whether the menu icon is green, yellow, or red. That part I did design end to end, even if Claude wrote most of the code.
Where I struggled most: git.
I am dyslexic and not a developer. Git's mental model has never quite settled in my head. When I started Mast, Claude was happy to write commits, push branches, open PRs. It would also occasionally rewrite history in ways that felt scary in the moment. Half my Mast development time was learning the small set of git commands I actually needed (git status, git log, git stash, git rebase, git reflog for the panic moments), and getting comfortable enough to nudge Claude when it was about to do something I was not happy with.
The result is a tool I now use about thirty times a day. Every time I open a new Claude Code session and forget which port my last server was on. Every time I want to know if I have uncommitted changes across three repos at once. Every time I am about to SSH into the VPS and want to confirm the right host is up.
If you are token-maxing on Claude Code and you have started accumulating side projects faster than you can track them, you are the audience.
Download is at usemast.sh. The source is on GitHub (private for now, ping me if you want a look). It pairs nicely with Watch Atlas, the other thing I built this year on roughly the same loop, and is more or less the same answer to the question I keep landing on: you do not need to be a developer to use developer tools, you just need curiosity and a willingness to read a transcript.
What is the tool you keep wishing existed on your machine?


