Port Zero – How I learned to stop worrying and love PORT=0
Hi HN, Recently I wasted several hours wrangling my dev environment only to find out that the browser frontend was talking to the wrong version of the backend. This got me thinking--why on earth are we still using simple numbers to describe which process to connect to? Why not use names instead? I thought of all the times a program wouldn't start because of port conflicts. The more I thought about it, the crazier it seemed. Modern operating systems already offer no-conflict ports: if you make your TCP server listen on port 0, the OS assigns you a random available port. But that only solves…
In plain words
Port Zero is a development tool that automatically manages network port assignments to eliminate port conflicts. It watches for processes and Docker containers with a special environment variable and assigns them named local addresses instead of manual port numbers, allowing developers to reference services by name rather than tracking which random ports are in use. This is designed for developers working with multiple local services who want to simplify their development environment setup.
written from the facts on this page · September 2026
From the sources
In the maker’s words, at launch
Hi HN, Recently I wasted several hours wrangling my dev environment only to find out that the browser frontend was talking to the wrong version of the backend. This got me thinking--why on earth are we still using simple numbers to describe which process to connect to? Why not use names instead? I thought of all the times a program wouldn't start because of port conflicts. The more I thought about it, the crazier it seemed. Modern operating systems already offer no-conflict ports: if you make your TCP server listen on port 0, the OS assigns you a random available port. But that only solves half the problem. I built the other half: PortZero. It's a GPLv3 program that watches for processes (and docker containers!) with a special PZ_TUNNEL environment variable: PZ_TUNNEL=myapp-{branch}.portzero.local:80 npm run dev When it sees such a process or container, PortZero does this: 1. Create a virtual NIC (if it hasn't already) 2. Create a new virtual IP address 3. Create a DNS record that substitutes things like {branch} based on the working directory of the process, and points at that virtual IP address 4. Start listening on that virtual IP address on the port of your choice (e.g. port 80 for http, port 443 for https, port 5432 for postgresql) 5. Forward any TCP connections to that virtual IP address / virtual port to the random, OS-assigned port that your process or container is actually listening on The result is you don't have to think about ports anymore, you just have to think about subdomains. You can have multiple services available on port 80 without conflicts, as long as they have different portzero.local subdomains. It does some other cool stuff like: - Enable HTTPS on local HTTP services by creating a local CA and registering it on your machine - Enable cloud tunnels so you can access your apps on other devices (paid feature) Links: https://portzero.net/docs/ https://github.com/PortZeroNetwork/portzero
Does the same job
all alternatives →- ZAZero – A fast, zero-configuration server for React, Node.js, Markdown2019 · zeroserver.io · ▲513
- KCKillport – CLI tool to kill processes running on a specified port2023 · github.com · ▲153


- PKPort Kill – A lightweight macOS status bar development port monitor2025 · github.com · ▲128
More life & fun this month
the category →- TL
Life & fun · 10d ago · louisabraham.github.io
Articos▲385Launch with confidence, not gut instinct Discussion | Link
Life & fun · 12d ago · producthunt.com
Nex▲351Claude Cowork for high-volume GTM workflows Discussion | Link
Life & fun · 3d ago · producthunt.com

Photosynthesis fires two of your iPhone
Life & fun · 29d ago · photosynthesis.camera
Creatium Coach▲320Your multimedia mentor that takes you from mid to great Discussion | Link
Life & fun · 11d ago · producthunt.com
SoloUno▲310Take control of hair pulling, nail biting & skin picking
Life & fun · 28d ago · solouno.io
Launched alongside, July 2026
the whole month →- IR
I might be the only SRE on Earth with his own bowling center. It's a more in-depth gig than you'd think. My family and I bought an abandoned 8-lane bowling center in the rural mid-west. In our small town there weren't many recreation options for families. You've heard of a food desert? This is an R&R desert. It had been abandoned for a good reason. The roof leaks, the electrical system was constantly surging, and my 70-year-old bowling equipment (still) doesn't work perfectly. The system that keeps your score is particularly interesting to me. It's the thing you watch during your game, but…
Life & fun · Jul 2026
- EElevators▲1,680
Life & fun · Jul 2026 · john.fun
- 1W18 Words▲1,160
Life & fun · Jul 2026 · 18words.com
- BA
Over the past few months, our team has been building more and more slidedecks using web frontend technologies with coding harnesses like Claude Code, but a common complaint is to make even small edits we need to edit the code either manually or via the harness. To avoid this loop, I ended up creating Bento, a single HTML file with everything you need in a slide tool including animations and shared editing. There's no install or cloud login, everything works offline. The default deck is around 560 KB and it doesn't need to fetch anything once you got it. Open it in a browser and then you can…
Dev tools · Jul 2026 · bento.page
- GG
A few days ago I found myself trying out GLM 5.2 and was really positively impressed. The capabilities and security I was getting from this LLM are similar to those I've gotten from models like Claude or GPT, and this really surprised me. But then I thought, "I wonder how it would work on a normal computer like mine," and above all, "I wonder if it would work without going into OOM on a computer like mine." So I started working with the help of agents to test this possibility. I started converting the model to int4, understanding MTP usage, and if possible implementing DSA for long context.…
AI · Jul 2026 · github.com
