Realtime Collaboration
See who else is on a job in real time and sync edits live.
When you open a job to view or edit, the Presence Bar at the top of the form shows everyone else who has the same job open right now — on the dashboard or the mobile app. You can see who's there, what they're editing, and your edits sync to them as you type.
The Presence Bar
The Presence Bar appears at the top of every job edit page.
- Avatars of everyone currently on the job, including engineers using the mobile app.
- A small label below: "2 editing · 3 viewing" so you know who is actively typing vs just looking.
- A coloured dot on each avatar means that person is currently focused on a field.
- Hover (or tap) an avatar to see the person's name, what they're doing, and which device they're on (web / mobile).
- If more than 5 people are on the job at once, the bar shows the first 5 + a +N badge — hover it for the full list.
- If the same person is signed in on multiple tabs or devices, you see one avatar with a small number badge (e.g. 2) showing how many sessions they have open.
When you're alone on the form, the bar shows your own avatar with a faded "Just you" label so you can confirm the connection is healthy.
Connection status
A small dot on the right of the Presence Bar shows the live connection state:
- Green — Connected. You're online and visible to everyone else on the job.
- Amber (pulsing) — Reconnecting. A network glitch is being recovered automatically. You'll be back in a few seconds.
- Red — Connection error. You won't appear in others' Presence Bars until the connection recovers. Refresh the page if it persists.
- Grey — Connecting or disconnected. Usually only visible for a moment when the page first loads.
Sync changes toggle
The Sync changes / Sync paused button on the right of the Presence Bar controls whether your edits broadcast to the rest of the team in real time.
- Sync changes (on) — your typing appears in everyone else's form as you go, and theirs appears in yours.
- Sync paused — your edits stay local until you press Save. You'll still receive others' changes when you save / reload.
Either way, you remain visible in everyone's Presence Bar — pausing sync only affects field-level live editing, not your presence.
When realtime collaboration is active
Realtime is automatic. You don't need to enable anything. It activates whenever:
- You're signed in and viewing a job's edit page (any status — pending, scheduled, started, or completed).
- You have permission to view that job (member of the job's team, the assigned engineer, or a delegated team).
- You're online.
Engineers using the mobile app appear in the dashboard Presence Bar (and vice versa) the same way — there's only one room per job.
What you see vs what others see
| You do | Others see |
|---|---|
| Open the job edit page | Your avatar appears in their Presence Bar within 2s |
| Click into a field | A pencil icon appears on your avatar + field name |
| Start typing | Your value updates in their form live (Sync on) |
| Switch browser tab to email | You stay in their Presence Bar (no flicker) |
| Close the job tab / navigate away | You disappear from their Presence Bar within 2-3s |
| Background the mobile app | You disappear within 2-3s; reappear on foreground |
| Lose Wi-Fi briefly | "Reconnecting…" then back to Connected automatically |
| Pause sync | They still see you on the form; your edits don't sync |
If a teammate doesn't appear
- Make sure you're both signed in to the same team.
- Check that you both have permission to access the job.
- Look at the connection dot — if it's red or amber, wait for it to go green or refresh the page.
- On mobile, the user has to be in the foreground app and on the same job's form screen.
What's stored
The Presence Bar shows live state only. Once a person closes the page, their presence is gone. Nothing about who is online or what they are editing is recorded — no user IDs, no field names, and no field values are kept.
For operational diagnostics (so we can investigate "I couldn't see my colleague online" reports), we send anonymous connection events to our error-monitoring tool: when the channel connects, reconnects, or drops, we log the event with an opaque per-tab session ID — never your user account or the field you were on. The Activity log on a job continues to record actual saves and status changes as it always has.