From your phone
The board can answer your phone over Tailscale, a private network between your own devices. Nothing is exposed to the internet and nothing is configured.
- Install Tailscale on this Mac and on the phone, and sign in to both with the same account.
- Press phone in the board’s masthead, then Share with my phone.
- Scan the code. The link signs itself in, once, within ninety seconds.
Stop sharing takes the board back off the network and forgets the key, which signs out every device that scanned one. Sharing is off until you ask for it, and a board that is not sharing holds no secret at all.
A scanned code is the only way in - there is no password to type and so nothing to guess at. A device with no camera cannot join.
Feature dev servers
Section titled “Feature dev servers”A feature’s dev server comes along while you are sharing: its URL chip on the phone opens it at
the board’s own tailnet name, on the dev server’s port, behind the same sign-in, with the notes
toolbar on it and hot reload working. Kelpie adds and removes those ports with tailscale serve
as features come and go, so tailscale serve status lists one per running feature.
Two kelpie.json keys cover a dev server that needs more than
that. env may use {tailnetHost}, this Mac’s tailnet name, for a dev server that has to be told
which host to accept - the variable is left unset when Tailscale is not running. extraPorts
names a JSON file the dev server writes and the keys of the other ports in it, read once the app
is ready and shared on the same port numbers, for a page that dials a websocket server beside it:
"env": { "DEV_ALLOWED_ORIGINS": "{tailnetHost}" },"extraPorts": { "file": ".acme/instance.json", "keys": ["ports.ws"] }What does not work from a phone
Section titled “What does not work from a phone”- The Preview tab, which needs the desktop app. The URL chip opens the app instead.
- Typing into the Terminal tab: a soft keyboard will not open for it.
- Open and focus, which raise windows on the Mac.
- Notifications. The board tells you something needs you only while you are looking at it.