Loading
Loading
Staff and customers share one app, not one login. Techs and owners sign in with the email + password they already use on the web dashboard — same Better-Auth account, same permissions, no second set of credentials to manage. The session token lands in Expo SecureStore and rides along as a Bearer header on every request after that, so the app doesn't ask again until the token expires or someone signs out.

Features, zoomed in
Three capabilities built specifically for the day-to-day of a working shop.
Deep dive · 01
There's no separate 'mobile account' to provision. A tech's email + password is the same credential they'd use to log into the web dashboard from a shop computer — same Better-Auth user row, same role, same shop membership. Nothing to keep in sync, nothing that can drift out of date between web and mobile.

Deep dive · 02
The session token comes back from Better-Auth's bearer plugin, gets written to SecureStore, and every subsequent API call attaches it as an Authorization: Bearer header. Close the app, reopen it a week later — still signed in, because the token lives on-device instead of a cookie the OS can drop.

What's included
Everything that ships on day one. No feature-gating surprises inside a single plan.
See every angle
Every meaningful view, the path through it, and the moments that matter — so you know exactly what you're buying.
Staff sign-in
No separate mobile-only credential.

Straight to Today after signing in

Who it's for
What it replaces
How it works
Same credential as the web dashboard — no separate mobile signup or invite.
Better-Auth's bearer plugin returns a session token, which the app writes to encrypted on-device storage.
The app attaches Authorization: Bearer <token> to every tRPC request from then on — no cookies, no re-prompting.
What this looks like in a shop
Marcus starts his shift, opens SalesThumb on his phone, and signs in with the same email + password he uses at the front-desk computer. He doesn't touch the login screen again for weeks — the app stays signed in through restarts, dead batteries, and a phone swap mid-month (same credentials, new device). If he ever needs to check his own warranty as a customer, that's a completely separate flow with its own session — the two never collide.
Questions
Fits in with
Better-Auth
Issues and validates the staff session
Expo SecureStore
On-device encrypted token storage
Explore more
One Expo app, two login flows. Customers type name + phone, get a 6-digit SMS code, land in their own portal. Staff use email + password. Role decides which tabs they see.
Two dimensions decide what a teammate can open: mobile_role (INSTALLER / SALES / BOTH / NONE) gates the field tabs, membership role (OWNER / ADMIN / MANAGER) gates the manager Dashboard. Set once in Settings → Team, enforced everywhere.
The installer app shows today's schedule, captures photos, clocks in/out, and updates job status. The customer app shows their active job's progress, appointments, quotes, invoices, and warranty status — as the SalesThumb app with your shop's name on it today. (A fully white-labeled app under your own brand in the App Store is on the roadmap.)