Show HN: Havn – one command to see everything running locally
haseeb16 Sunday, March 08, 2026I kept running lsof -i :PORT repeatedly to check what was alive locally. Eventually I wrote a small tool around it and it turned into this.
How it works: - One lsof / netstat call maps all listening processes - 100+ ports scanned in parallel via TCP connect, 150ms timeout each - HTTP fingerprinting reads response headers to identify frameworks (Spring Boot, Express, Django, etc.) - Filesystem detection reads package.json, pom.xml, go.mod, Cargo.toml from the process working directory to get the actual project name - Redis gets a PING/PONG health check, Postgres gets a connection handshake - Results pushed to the browser via WebSocket every few seconds
First scan: ~800ms. Subsequent scans: ~300-400ms. Memory: ~55MB RSS.
Detects 40+ services including databases, queues, monitoring tools, and AI runtimes (Ollama).
Single file UI, no build step, no bundler. Just HTML/CSS/JS served by Express.
npm install -g @haseeb-xd/havn && havn
GitHub: https://github.com/haseeb-xd/havn
Happy to answer questions about the detection approach or the performance tradeoffs.