Each person on a crew gets a durable, unguessable link (crew-<32 hex>) that opens a single screen built for a phone in a field. The token resolves to a person, their crew, and only the projects their crew has actually accepted. Everything the screen renders comes back in one request so it works on one bar of signal.
Also called: crew app · field link · no-login crew screen · crew phone portal · worker portal
Your crew opens a text message, not an account
Every person on a crew gets one link. Tapping it opens their own screen: the job they are on, one big button to clock in, Add Photo, Blocked, and the checklist for that stage. There is no password to set, no invite to accept and no account for you to create. Setting up a new man takes as long as sending one text.
Drawn for a phone held in a glove, in full sun
This screen deliberately throws out the desk app's own controls. Minimum tap target is 64px and the main action is 76px, text is near-black on white instead of mid-grey, choices are full-width chips rather than dropdowns, and the way out of any screen is pinned to the bottom so it cannot scroll away. Checkpoints are drawn as a real empty square, because across a yard an empty box reads as not-done while a missing tick reads as nothing at all.
One link per person, and you can kill it in one click
Links are minted from the crew card in Team and asking twice returns the same one, so nobody ends up holding two — a person with two live links is a person whose access you cannot actually revoke. Revoking takes effect on the next tap, and a dead link returns a flat not-found that never hints which company it nearly belonged to. Per person rather than per crew, because hours per head is what makes labour costing real.
Everything arrives in one request, because the site has one bar
Who you are, which jobs you may clock into, whether you are already on the clock, this week's hours and the current stage checklist all come back in a single call. Photos are prepared on the phone before they leave it: anything already small enough goes up untouched, anything oversized is scaled down first. A screen that needs four round trips is a screen that fails in a field.
The phone never names the job, the crew or the company
Every write re-resolves the link on the server. Org, crew, project and stage all come from the token and the open shift, never from the device. A removed or deactivated person stops working immediately. It is a link with no password on it, so it is built to carry no authority beyond the one person it names and the projects that person's crew has actually accepted.
It has to beat the group text, or it loses
Progress photos, “we're stuck on the slab” and how many hours somebody did currently live in a thread on somebody's phone, and none of it reaches the job file. The bar the screen was built against: if filing a photo takes longer than sending it in a group text, he sends the text. Two taps to file a photo against the right job and stage is what that bar costs.
- 1An admin or PM copies a person's field link from the crew card in Team and texts it once.
- 2Opening the link hits /api/crew-portal?token=..., which resolves the token to a person through the shared roster, not org_members.
- 3That single call returns who you are, which jobs you can clock into, whether you are already on the clock, this week's hours, the current stage checklist, and (for a leader) the crew roster.
- 4Every write route re-resolves the token; the client never supplies an org, member, crew or stage id.
- 5A revoked link, a removed person or a deactivated person stops working immediately, with a flat 404 that never confirms which org it nearly belonged to.
Field crews were never going to create an account and a password to do three things a day, so the work they did never reached the job file — photos went to a group text and hours were reconstructed on Friday from memory. If logging a photo takes longer than sending it in a group text, the text wins every time. Each person now gets one unguessable link, texted once, that opens a single screen with buttons big enough to hit wearing gloves in the sun. The link belongs to a person rather than to a crew, because hours per head is the number that makes labour costing real.
- Field labour has no accounts, so anything requiring a login never gets used.
- Job records live in text threads and memory instead of the job file.
- Access could not be revoked because nobody knew who had what.
See it on your own jobs
Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.
or keep browsing features →