dev utility / macOS / localhost visibility

Stop guessing which localhost process just silently failed.

LocalhostWatcher is a Swift-built macOS menu bar utility for people running multiple local services at once. It detects active TCP listeners, checks whether each localhost endpoint really responds, and gives you one place to inspect, open, stop, or restore the stack without bouncing between browser tabs and terminal panes.

Swift menu bar utility Real app icon, real SF Symbols, real localhost process workflow
dev session
$ swift build
$ ./run-menubar.sh
> watching localhost listeners...
> 5173 healthy   frontend · vite
> 3000 healthy   api · node
> 8080 unhealthy cms · astro
  • Replace scattered port hunting with one compact control surface
  • Use health checks to separate “listening” from “actually usable”
  • Recover the stack you care about after login with less setup churn
3s automatic refresh interval for active localhost scans
HEAD probes tell you what is reachable, not just what has a port open
2 views separate live services from saved relaunch targets

Problem

The expensive part of local dev is context loss.

Ports are easy. Clarity is hard.

When multiple services spin up across Node, Astro, Vite, or custom binaries, the shell confirms activity, not whether the thing you need is usable right now.

Half-alive services waste the most time

A stuck CMS, dead API, or half-booted preview can still look “up” until it burns a tab switch, a browser refresh, and a few minutes of investigation.

Your repeatable stack should actually be repeatable

Save the services worth reviving once, then let the app remember the command and working directory that gets you back to work faster.

What it does

A developer-focused status layer for everything bound to localhost.

01

Maps the local machine into something you can read at a glance.

It scans listeners with lsof, maps each port back to the owning process, and resolves friendlier names for common JavaScript runtimes so the menu bar tells you something useful immediately.

02

Checks health like a tool, not like a marketing screenshot.

Lightweight HTTP HEAD checks classify services as healthy, unhealthy, or unknown so the menu bar count becomes actionable, not decorative.

03

Keeps the fix path short.

Open the local URL, stop a single process, or kill every unhealthy service without opening another terminal or remembering which process owned which port.

04

Remembers the stack you actually restart.

Save the processes worth reviving. LocalhostWatcher stores the original launch command and working directory when it can, then makes a careful relaunch attempt so your next session starts closer to ready.

Workflow

Observe. Verify. Recover.

  1. 1

    Observe the live machine state

    See which localhost ports are active, who owns them, and how long they have been up.

  2. 2

    Verify the endpoints that matter

    Each discovered service gets a fast response check so you can find the broken endpoint before it expands into a debugging session.

  3. 3

    Recover the stack worth keeping warm

    Mark login-worthy services now, then let the app restore the setup you actually reuse instead of reconstructing it from memory.

Get it

Keep your localhost stack one click away.

LocalhostWatcher ships as a standalone macOS app bundle, a public GitHub repo, and a tagged release. Download the app directly or inspect the source before you install.

Recommended install: notarized DMG. Alternate download: ZIP. Source and issues live on GitHub.