DevPorts$9 · Buy

macOS menu bar app

Every dev server on your Mac, one click from stopped.

The pnpm dev from a closed tab. Yesterday's Vite server. The API still holding port 8000. DevPorts shows them in the menu bar with project, port, and uptime, and stops the one you pick without taking anything else down.

One-time purchase · macOS 14+ · Apple silicon & Intel

Dev servers
  • storefrontNext.js:30002h 14m
  • billing-apiUvicorn:800047m
  • docsAstro:43213d
  • design-systemStorybook:60061d
Stop allv0.1.0Launch at loginQuit
Each row shows the project, framework, port, uptime, an open button, and a stop button.

Instead of this

$ lsof -nP -iTCP -sTCP:LISTEN
rapportd    860  *:60164
ControlCe  1020  *:7000
ollama     1781  127.0.0.1:11434
node       3619  127.0.0.1:3000
OrbStack   6814  *:54322
node      96623  127.0.0.1:3310
Cursor    57001  127.0.0.1:60191
... 31 more lines

$ ps -o pgid= -p 3619   # which of these is safe to kill?

You scan past system daemons, guess which node is which project, then kill a pid and hope the package manager above it doesn't restart it.

DevPorts does that lookup every few seconds and shows only the servers that belong to your projects.

Features

DevPorts 0.1.0

$9

One-time. No subscription, no account. Tax shown at checkout.

You'll download a .dmg right after paying. Requires macOS 14 or later.

Questions

macOS says it can't verify the developer. Is that expected?

Yes, for now. This build isn't notarized by Apple yet. After dragging DevPorts to Applications, open it once, then go to System Settings → Privacy & Security and click Open Anyway. macOS remembers the choice.

What counts as a dev server?

A process you own that listens on a TCP port and whose working directory is inside a project, meaning a folder with package.json, pyproject.toml, requirements.txt, Cargo.toml, go.mod, Gemfile, composer.json, deno.json, mix.exs, or manage.py.

Does it see servers in Docker or OrbStack?

No. Containers show up as the container runtime, which DevPorts skips on purpose. Use your container tool for those.

Could it stop the wrong thing?

It checks the process start time right before stopping, so a reused pid is refused. It only climbs to parents that exist solely to run that server, and it never signals shells, launchd, other users' processes, or sibling servers.

Does it phone home?

No. The only network requests are favicon lookups to your own servers on localhost, capped at 1 MB. There is no account, analytics, or license server.

How do I pay, and who handles tax?

Checkout runs on Stripe, sold through Link as the merchant of record, so VAT and sales tax are calculated and handled for your country. You'll see the total before you pay, and Link emails your receipt.