Skip to main content

Docs

Phone access via Tailscale

For households that want a phone surface on Spencewell without Spencewell becoming a cloud service. Power-user setup; ten minutes.

Spencewell is a Mac desktop app. There is no native iOS or Android app, by commitment — your shopping data, recipes, and receipts live in a SQLite file on your Mac, not in a cloud service we operate. A native phone app would mean either running our servers (breaks the local-first commitment) or running a second SQLite database on your phone with sync logic in between (a different product, with its own failure modes).

For most households, the in-app Share to phone buttons on the shopping-list page are the right tool. They open Messages, Reminders, or any installed Mac share-sheet target with the list pre-filled, and the result lands on your iPhone or any phone that can receive SMS. No setup; no ongoing cost.

For everyone else — households that want a real phone surface on Spencewell, edit items mid-aisle, view dashboards from the couch — Tailscale is the path.

What Tailscale is

Tailscale is a free service that creates a private network between your devices over WireGuard. Your Mac and your phone show up to each other as if they were on the same Wi-Fi, anywhere in the world, without opening ports on your router or exposing anything to the public internet. The free tier covers up to 100 devices on a personal account — comfortably more than any household needs.

Setup — about ten minutes

  1. Install Tailscale on your Mac — the macOS app is free on the Mac App Store. Sign in with Google, GitHub, Microsoft, or email. The Mac will show up in your tailnet as something like your-mac-name.
  2. Install Tailscale on your phone — the iOS / Android apps are free in the App Store and Play Store. Sign in to the same account you used on your Mac.
  3. Make sure Spencewell is running on your Mac. The Spencewell window can be hidden, but the app needs to be open — quitting it stops the local server.
  4. Find your Mac's tailnet name. In the Tailscale menu-bar app on your Mac, click the icon and look for the device name (the entry with a green dot, marked This Device). It looks like your-mac-name.tail-scale-net.ts.net.
  5. On your phone, open a browser and visit http://your-mac-name:5173. (Replace your-mac-name with the name from step 4 — the short hostname is enough; the full .ts.net suffix isn't required when both devices are on the same tailnet.) Spencewell loads. You can bookmark the URL or add it to your phone's home screen as a web app.

Caveats

  • Your Mac has to be reachable. If your Mac is asleep, your phone can't reach it. Enable Wake for network access in System Settings → Energy, and consider a Power Adapter or Power Nap setting that keeps the Mac responsive while plugged in.
  • Both devices need to be on the tailnet. Tailscale handles this transparently when both apps are running and signed in. If your phone shows the URL as unreachable, open the Tailscale app and check that it's connected.
  • This is power-user territory. If you find step 4 confusing, the Share to phone buttons on the shopping-list page do most of what you'd want from a phone surface (texting yourself the list, dropping it into Reminders, AirDropping it) without any of the network setup.
  • HTTPS isn't strictly required. All traffic inside the tailnet is end-to-end WireGuard-encrypted; the plain http:// URL is safe within your tailnet. If you'd rather use https://, Tailscale's MagicDNS + HTTPS feature gives you a TLS certificate for the tailnet name automatically.

For casual sharing, use the share buttons instead

On the shopping-list page in Spencewell on your Mac, the Share to phone row gives you three options that don't need any of this setup: Share to Messages (opens Messages.app with the list pre-filled), Send to Reminders (creates or appends to a Reminders list, picks any existing list including a spouse-shared iCloud one), and Share… (the macOS Share Sheet — Notes, Bear, OmniFocus, AirDrop, Mail, anything you have installed). For the in-store "what was I supposed to grab again" use case, those usually win.

Tailscale is the right answer when you want to edit the list mid-aisle, or browse last week's reconciliation from the couch, or check the freezer inventory before driving to the store. The phone surface is a tunnel to the same Spencewell that lives on your Mac — not a separate sync.