Coffee Port vs a spreadsheet or a README
It works, right up until it does not — and it fails quietly, because nothing checks it against the machine or against itself.
Remembers a port that is not running
What it remembers
Whatever you last wrote down. Which is the whole point and the whole problem: a list nothing validates drifts from the truth one forgotten edit at a time.
No sources to link: this one is a habit rather than a product.
What Coffee Port cannot do
It cannot see what is running. A web page has no way to list the sockets on your machine, and the way to get one — a daemon on localhost for the browser to talk to — would mean opening up the policy that stops a compromised page sending your decrypted ledger somewhere else. That is not a trade worth making for a list of process ids you can already get in a second.
So these are not rivals. a spreadsheet or a README answers what is on 3000 right now; this answers what 3000 is for. Most people who want the second one already have the first.
Point by point
| Point of comparison | a spreadsheet or a README | Coffee Port |
|---|---|---|
| What is listening right now | Nothing, and it does not claim to. This is the one row where a notes page and a port ledger are in the same position. | Nothing. A web page cannot see what is bound to a port, and this one does not pretend to — pair it with any of the tools on this page for that half. |
| What it costs | Nothing, and you already have it open. | Free while it is in invite-only beta. |
| Two projects on one number | Nothing stops you writing 3000 twice. You find out when the second one will not start. | Refused by a unique index — unless you mark them as shared, which is a thing two projects that never run together are allowed to be. |
| Choosing the next one | Scan the column and hope. | Hands out the next free number by rule — 40xx for personal things, 41xx for client work, or whatever you write — and says which rule chose it. |
| Ports that will waste an afternoon | Nothing warns you that 6667 will not open in a browser or that 5000 is AirPlay on macOS. | Refuses the ones that cannot work and explains the ones that merely will not be fun. |
| Who can read it | Your notes app can, and so can anyone it syncs to. Most of them are encrypted in transit and at rest with keys the provider holds. | End-to-end encrypted. Numbers, labels, projects and notes are sealed in your browser with AES-256-GCM, so the database holds ciphertext and never a port number. |
Which to use
Use a spreadsheet or a README when
- You have three projects and no intention of having thirty.
- The list lives beside other things you need in the same document.
- You want zero new accounts, which is a completely reasonable position.
Use Coffee Port when
- You have stopped trusting the list, which is the moment it has already failed.
- You want the next number chosen for you rather than eyeballed.
- You want something that refuses a number twice claimed instead of letting you write it down twice.
- You would rather your project names and port numbers not sit in plain text in somebody else's database.
Questions
- Is a spreadsheet good enough for tracking localhost ports?
- For a few projects, yes. It stops being good enough at the point where you no longer trust it — when you have to check the file and then check the machine, because the two disagree and only one of them is real.
- What is wrong with keeping ports in the README?
- Nothing, except that the README describes one project and a port collision is a fact about all of them. The number 3000 in two READMEs is a conflict neither file can see.