██ ██████ █████ █████ ██ ██ ██████
██ ██ ██ ██ ██ ██ ██ ██ ███ ███ ██ ██
██ ██ ██ ██████ ██ ██ ███████ ██ █ ██ ██████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ██ ██ ██ ██ ██ █████ ██ ██ ██ ██ ██ ██
find the best WiFi where you are — full bars ≠ good
roamr — read your saved WiFi networks, score them for real quality, and say which to use.
$ brew install --cask sourabh-khot65/tap/roamr
roamr [--why] [--json] [--demo] roamr <current | list | watch>
A network can show 100% signal and still be the worst one to be on — 2.4 GHz, an old WiFi standard, a crowded channel — and your OS stays parked on it, because it never re-checks quality once connected.
roamr weighs signal, band, congestion, WiFi standard and live latency across your saved networks and names the best one, with reasons. It is passive: it reads and advises, never touching your connection — you switch from your OS's WiFi menu.
$ roamr --why → Switch to Office-6E — clearly better here. Office-6E ▀▀▀▀▁ 86% 6GHz ax score 95 - 6 GHz — fast, uncongested - channel is clear Office-5G ▀▀▀▀▀ 92% 5GHz ax score 93 - strong signal (-54 dBm) Office-Guest ▀▀▀▁▁ 68% 5GHz ac score 81 ▸ Office-2G ▀▀▀▀▀ 100% 2.4GHz n score 69 - 2.4 GHz — slower, more interference - WiFi 4 — older, slower standard
You're on the 100%-signal network (▸) — and it ranks last. That gap is the whole point.
roamr recommend the best saved network here (default) roamr current diagnose the network you're on (latency/jitter) roamr list list saved networks and their scores roamr watch monitor; suggest a switch only when durably better roamr speedtest measure real download throughput of the current network flags: --why explain scores --json machine-readable --demo no hardware
macOS signed CoreWLAN helper (macwifi) working linux nmcli (NetworkManager) preview windows native WLAN API (wlanapi) working
A companion menu-bar app puts the live ranked list and the "why" one click away — quality-coloured scores, signal bars, and an amber cue when a network is durably better. It reads roamr watch --json, so all the scoring stays in the CLI; like the CLI, it only advises and never switches for you. Built with make app (Swift, no Xcode required).
Written by Sourabh Khot.
Issues and pull requests: github.com/sourabh-khot65/roamr/issues
github.com/sourabh-khot65/roamr · releases · MIT · a single Go binary