RemoteConnect

Click a name → the other machine's screen opens. Macs and Android, one app, no relay.
RemoteConnect Controller
🖥
Isaac's MacBook192.168.1.38 · vnc
online
📱
Isaac's Phone192.168.1.101:5555 · scrcpy
online

How it works

1
Friend installs one file

A .pkg whose postinstall runs as root, switches on macOS Screen Sharing and sets the shared password. No dialogs, no setup, no third-party software.

2
Their Mac joins the list

Saved to ~/.remoteconnect/friends.json — outside the app bundle, so reinstalls and rebuilds never wipe it.

3
Click the name

Macs open vnc://IP in Screen Sharing. Android runs scrcpy --tcpip=IP:PORT, which owns the adb connection itself and mirrors the screen.

Why it was harder than it looks

The code was rarely the problem — the environment was. A phone that reboots drops off WiFi and takes a new IP, so every connect attempt aimed at a dead address. Rebuilding the client eleven times changed nothing; checking the network fixed the diagnosis.

So the controller now probes before it dials and returns its step log instead of a spinner:

$ click "Isaac's Phone"

ping 192.168.1.101: NO REPLY
wireless-debugging services found: none
connect 192.168.1.101:5555 -> failed: Host is down

PHONE IS OFFLINE - it is not answering on the Wi-Fi network.
On the phone: join the SAME Wi-Fi, then Settings > Developer options
> Wireless debugging = ON
A failure that explains itself beats a button that silently does nothing. Every probe on that ladder — ping, ARP, an mDNS lookup, a 254-address parallel subnet sweep — is exposed at /api/scan so the UI can show real state.

Things that bit me

macOSpywebview + Flaskpkgbuild / productbuild macOS ARD (kickstart)Screen SharingscrcpyadbAppleScript