Concepts
Local testing from a phone.
A phone cannot call your PC's localhost. Use an HTTPS URL that reaches your local development server.
Tailscale Serve works well inside a tailnet because it gives the mobile authenticator an HTTPS callback URL that proxies to your local Next.js server.
pnpm dev --port 3004
tailscale serve --bg --https=8443 http://127.0.0.1:3004
VIBE_ID_SITE_URL=https://your-machine.your-tailnet.ts.net:8443