Projected Surface

Capture offline. Settle on a number no one disputes.

Crews log hours, GPS, and field events on the device -- no bars required. When the signal returns, the queue flushes into the one shared graph, conflicts resolve by policy, and every decision lands on the ledger.

Why it matters

Your operating graph, in the field

Your operating graph, in the field

This is your operating graph on a phone -- the same projected surface as the desk, fitted to a glove and a cracked screen at 6am. Routes, nav, theme, and labels are projected from Cascade, so the field app is configured, never forked. The crew clocks in, drops a daily log, snaps a delivery, captures GPS -- in a basement, a tunnel, a slab pour with no signal. Nothing waits on bars.

Capture offline, reconcile on the shared graph

The device caches every event in a local queue -- clock-outs, segment splits, GPS with precision. A sync agent flushes that queue on a timer and reconciles it against the server time_entry rows in the one shared graph. When a foreman batch-closed a shift the worker was still on, the conflict resolver settles it by policy -- device-recorded-wins by default, authority-ranked -- and writes...

The work, split

What the agent does, what you decide

Agent does it

The sync agent runs the calm 80 percent. It flushes the offline queue on its timer, matches each cached event to its time entry, detects collisions, and applies the configured conflict policy. Failed batches retry and dead-letter instead of vanishing. Dropped push tokens re-register after the next signed-in boot. The crew just works.

You decide

You step in on the 20 percent that moves money. A surfaced conflict, a disputed clock-out, the approval that turns captured hours into a worker payout -- that call is yours. Verify it, and the resolution is anchored to the ledger as a receipt finance can read before it pays.

How it works

From a no-signal clock-out to a payout no one disputes

Field event captured offline

Local device queue

Sync agent flushes on timer

Reconcile into shared time-entry graph

Conflict detected

Resolution logged to ledger

Policy resolves by authority rank

Projected to paystub and crew map

See the graph in your pocket

Open the field surface for your seat and community -- and follow one offline clock-out all the way to a payout no one at the table can dispute.