Skip to content
Bernardo Fernandez

PROTOTYPE · 2023

OpsBoard.

Real-time coordination for field operations

Context

Field operations coordinate through the worst possible medium: a chat where assignments, delays and handoffs scroll out of sight within hours. I built OpsBoard as a prototype to answer one question — what does a tool look like when 'what is happening right now' is its only job?

The problem

Realtime state over unreliable mobile connections, for users wearing gloves, is a harder problem than it sounds. The board had to stay truthful on bad networks, survive disconnects, and fit a day that happens mostly on a phone.

My role

Sole developer — event architecture, realtime layer and interface.

What made it technically interesting

Broadcasting state is easy; keeping every client correct across reconnects, offline periods and concurrent edits is the actual problem.

Field usage means gloves, sunlight and one-bar connections — the interface budget is measured in taps, and every state change has to survive being delayed.

History matters as much as the present: 'what happened yesterday' has to be queryable, not archaeological.

Decisions

Events, not diffs
The server broadcasts domain events ('job assigned', 'job delayed'), not UI patches — any client that reconnects rebuilds its view from the event log, with no sync logic in the frontend.
Optimistic UI, authoritative reconciliation
The interface applies updates immediately and reconciles against the authoritative event, so the board stays responsive on poor connections without lying about state.
Mobile-first field usage
One-tap state changes and large targets — the tool fits the environment instead of fighting it.

Result

  • Every client reconstructs its view from the event log — reconnecting after an offline gap needs no special logic.
  • A state change is one tap on a phone, and the board reflects it for everyone without a refresh.

What I learned

Internal tools fail socially before they fail technically. Designing for the environment — gloves, bad signal, interruptions — mattered more than any architectural choice.

Have a project in this space?

Let's talk about it