Home / Blogs & Insights / Designing A Vessel-Tracking Application For Port Operators

Designing A Vessel-Tracking Application For Port Operators

A conceptual vessel map with AIS only, radar only, correlated and stale targets.

Table of Contents

A vessel-tracking application should let operators find a target, inspect its source and age, connect it to the correct call and understand what remains uncertain. When a source fails or an identity changes, the operator needs a visible exception and a controlled route to review history and resolve the association.

Position display, identity evidence and call decisions must stay distinguishable. A fresh coordinate does not prove a vessel identity, and a known call does not prove continuous sensor coverage.

Follow The Operator From Target To Decision

Start in the worklist or map, locate the target and open its linked call. Show contributing sources and their observation times before asking the operator to act. If the source goes stale, preserve the last known evidence with its age and expose the permitted fallback.

On recovery, let the operator compare new observations with the history and any manual evidence recorded during the gap. If the association is disputed, show the candidates and the policy governing resolution. The application should preserve the old association in history rather than silently attach the call to a different track.

Test this journey with operators: find a target, explain its freshness, inspect the related call, handle a staged source loss, review the returned evidence and complete the permitted resolution. Evaluate whether the next action is understandable without reading a technical log.

Vessel, Call, Observation And Track: Keep Four Records Distinct

Give every maintained track a stable local identifier and retain its contributing sources. Keep identity attributes separate from motion observations so an uncertain match does not become a permanent fact. A vessel call should reference the track where appropriate without making its administrative status depend on every positional update.

ObjectWhat it representsWhat it must not imply
ObservationA measurement or report at a timeA confirmed operational decision
TrackA maintained target estimateCertain identity in every state
Vessel recordKnown or claimed identity attributesA unique visit to the port
Call recordA particular operational visitContinuous sensor coverage

Use the anchorage workflow boundary to decide which track events merely inform the operator and which can propose a workflow action.

Four linked records: observation, track, vessel identity and port call.
Observation, track, vessel identity and call as distinct linked entities.

Specify The Map And List Together

Keep The Visual Position And The Work Item Connected

The map should support selection, inspection, filtering, and a clear legend. The companion list should expose the same targets and exceptions through keyboard accessible controls. Preserve the user's selection during updates. A refresh must not move focus or dismiss the detail panel while an operator is reviewing a conflict.

Show source, freshness, identity confidence, and the relationship to the active call. Provide text labels for automatic identification system (AIS)-only, radar only, correlated, stale, or conflicting states where relevant. Do not encode all meaning in marker color. Designing actionable port dashboards adds the work queue and supervisor views that tracking alone does not provide.

Four Records For One Displayed Target

Illustrative example

The vessel, visit, track and observation retain separate identifiers.

RecordSampleRelationship
VesselV-18, test vessel AStable application identity
CallC-182, arrival date 18 SeptemberOne visit by V-18
TrackT-9, source tracker-1Current track associated with V-18, subject to review
ObservationO-55, 10:00:00, position 10.1/20.2One measurement contributing to T-9

Loss, Recovery And Replay

The demonstration uses a 60-second freshness window solely to test software behavior. Source-specific operational thresholds require local validation.

TimeInputExpected Screen And Record
10:00:00O-55 receivedTarget current; call C-182 shown separately
10:01:01No newer observationT-9 marked stale; last observation time remains 10:00:00
10:03:00Connection returns with replay O-55Duplicate ignored; stale state persists
10:03:02New O-56 observed at 10:03:01Freshness restored after validation
10:03:03Source proposes identity changeAssociation review opens; call is not silently reassigned

Passing recovery means O-55 was not counted twice, the stale interval remains visible in history, and O-56 did not overwrite the allocation decision. A green connection indicator alone is insufficient: it says the transport is open, not that the target has a fresh observation.

Store The Relationships, Not One Combined Status

This record keeps the visit, track and observation identifiers separate. Reassigning a track does not rewrite the vessel’s earlier call history.

{
  "vessel": {
    "id": "V-18"
  },
  "call": {
    "id": "C-182",
    "vessel_id": "V-18"
  },
  "track": {
    "key": "tracker-1:session-6:T-9",
    "vessel_id": "V-18",
    "association_state": "provisional"
  },
  "observation": {
    "id": "O-55",
    "track_key": "tracker-1:session-6:T-9",
    "observed_at": "2026-09-18T10:00:00Z",
    "position": {
      "latitude": 10.1,
      "longitude": 20.2
    }
  }
}

If the tracker restarts and reuses T-9 in session-7, its key becomes tracker-1:session-7:T-9. The new track begins without inheriting V-18 automatically. O-55 still belongs to session-6, and call C-182 retains its approved allocation regardless of the new association review.

The radar track-feed contract explains why a source session and track identifier must not be treated as a permanent vessel identity.

Measure Observation To Screen Latency Under Realistic Load

Define the observation to display path and measure each stage. Network delivery, validation, correlation, storage, and rendering all contribute to delay. Agree acceptable behavior with operators under representative traffic, burst updates, and recovery conditions. Avoid a universal latency promise that ignores the intended use and available sensors.

Require the supplier to show backlog and dropped or rejected updates. The screen should degrade predictably when the system cannot keep up. A reduced update cadence with visible freshness is easier to evaluate than a responsive map quietly displaying old data. The AIS feed validation design is one part of this performance chain.

A Reference Path From Sensor To Screen

Trace reception, validation, track processing or incumbent track consumption, storage, screen delivery and rendering as separate stages. The application may consume an existing tracking service instead of owning correlation itself. Put that choice in the architecture so a slow display can be investigated without assuming the sensor caused it.

Define observation to display age only where observation time is trustworthy. Also measure receipt to display processing delay, which answers a different question. Report the proportion of updates within the agreed target, tail delays, load conditions and clock assumptions. A fast average can hide bursts that leave some tracks visibly old.

During recovery, specify whether the system first restores the current picture and then historical detail, or uses another agreed sequence; replayed history must not appear as new live observations.

Replay Vessel Tracks With Source And Identity History

History should preserve source changes, identity corrections, and the time range being replayed. Make replay visually distinct from live operations. Users must not mistake a historical position for a current one, and replay controls should not modify the operational call record.

Agree retention, access, and export requirements with the relevant owners. If data licensing restricts storage or redistribution, resolve that before promising a replay feature. Record the difference between observed history and any estimated trajectory. An estimate may support analysis, but it should not be presented as a received observation.

Test Track Loss And Recovery

Test this source loss sequence: a target is visible, one contributing source stops, the track becomes less certain, and the source returns. Check whether the user can identify the change, inspect remaining evidence, and understand any new correlation. Include two nearby targets to test an ambiguous match.

ScenarioEvidence to request
Source lossState transition and affected target visibility
Identity correctionTraceable history without silent replacement
Duplicate targetA controlled resolution process
ReconnectionExplained recovery and unresolved conflicts

The International Organization for Marine Aids to Navigation (IALA) core Vessel Traffic Services (VTS) requirements guidance is a reference point for traffic system requirements. Apply the relevant guidance alongside local procedures and equipment documentation. Multi source track correlation requires its own acceptance scenarios if it is included in scope.

Include access checks for tracking history and exports, feed licensing, and application availability in procurement. Test alerts and geofence events under uncertain positions. Compare consuming an incumbent tracking service with building track processing; each option needs an explicit support owner and recovery test.

Evaluate The Operator Experience With Real Tasks

Ask an operator to find an uncertain target, identify the stale source, locate its request, inspect its history and explain the next permitted action. Observe errors and unnecessary navigation through source loss and recovery. Use those task results as acceptance evidence rather than judging only whether the interface looks modern.

Use a scripted call so evaluators can compare the same task across designs. Begin with a target whose identity is uncertain. Ask the operator to inspect observation age and source, then decide whether the evidence supports linking it to an existing vessel call. Record what remains unconfirmed.

Next, remove one contributing source and introduce a second possible identity match. The operator should find the conflict, inspect the remaining evidence and avoid treating a suggested association as a confirmed identity. Restore the source and replay the interval. Check that historical playback is visibly separate from live information and retains the correction history.

Finish by asking the operator to explain what the display establishes and what still needs external confirmation. Evaluate that explanation, navigation effort and mistakes against agreed acceptance criteria. A system passes this task when the evidence and limits are understandable, not simply when every target has a name.

Conclusion

Review the tracking screen while a source is healthy, stale, lost and recovering. In each state, the operator should see the last observation time, identity basis and any restriction on using that information.

Include a tracker restart in acceptance. Confirm that reused identifiers, delayed messages and replay cannot silently change the identity attached to a call or rewrite its allocation history.

How SDLC Corp Can Help

Discuss the operator journey for the anchorage management software with SDLC Corp, including any custom software development services needed for the proposed views or record model. Bring representative tasks and source-loss scenarios. Ask how users will inspect freshness, identity uncertainty, call history and recovered evidence, and request a scoped demonstration before accepting claims about usability or continuity at your port.

Frequently Asked Questions

Why Keep Vessel, Track And Call Records Separate?

The vessel is an identity, the track is a source's sequence of observations, and the call represents a visit. Separating them prevents repeated visits or restarted tracks from merging unrelated operational records.

What Should Happen When Updates Stop?

Mark the affected track with its age and the agreed stale or lost state. A last known position may remain useful context, but the display must distinguish it from a fresh observation.

Can A Tracker Reuse A Track Number?

The application should be designed for that possibility. Combine the number with source and session context, and verify identity again where continuity is uncertain rather than transferring the previous association automatically.

ABOUT THE AUTHOR

Shashank Jaiswal

Co-founder & CIO

Shashank Jaiswal is the Co-founder and CIO of SDLC Corp, where he leads enterprise technology, solution architecture, AI, automation, and digital transformation initiatives. His work spans enterprise software, ERP and CRM platforms, system integration, cloud architecture, data-driven applications, and the modernization of complex business operations.
PLAN YOUR SOLUTION

More Insights
You Might Find Useful

Explore expert perspectives, practical strategies, and real-world solutions related to this topic.

Let’s Talk About Your Product

Get expert guidance on scope, architecture, timelines, and delivery approach so you can move forward with confidence.

What happens next?