Port Monitor
ProductionAugust 15, 2024
A simple utility for monitoring and clearing clogged ports — because when you run ad hoc projects all day, ports 3000, 8080, and 5000 eventually all have zombie processes clinging to them. A tiny tool solving a daily friction point.
Purpose
Ports get clogged with zombie processes from ad hoc projects all the time — a Next.js dev server on 3000, a Go API on 8080, a Python server on 5000, none of them properly killed. Port Monitor shows what is running on which port and lets you kill it. Simple problem, simple solution.
Stack
What I Learned
- The command lsof -i :3000 shows which process is using port 3000. kill -9 <PID> terminates it. Port Monitor wraps this into a friendlier interface. The underlying OS tools are powerful but not discoverable — most developers google "how to kill process on port" multiple times per year. Wrapping the commands into a tool eliminates the search.
- Zombie processes on ports are a symptom of poor shutdown hygiene — Ctrl+C sometimes does not send SIGTERM cleanly, background processes outlive the terminal that started them, and Docker containers hold ports even after the container stops. Port Monitor is the cleanup crew for the mess that rapid development creates.
- Developer tools that solve annoyances you face daily are the highest-value, lowest-effort tools you can build. Port Monitor, Video Speed Controller, Chrome Save Tabs — all tiny, all daily-use, all disproportionately useful relative to their size.
Key Insights
- The best developer tools are the ones that feel embarrassingly simple. "Show me what is on this port and let me kill it" is not a complex product. But the fact that every developer has googled it proves the friction is real. Simple tools for real friction beat complex tools for imagined problems every time.
This post was composed through a conversation between Brett Owers and Claude Code (Anthropic). The content reflects Brett's recollection of each project and the lessons drawn from it. Some details may be approximate or omitted — the purpose is to paint an honest picture of a software engineer's development over time, not to serve as a precise historical record.