Inspiration

Dock and shipyard schedules are safety- and cost-critical, but the evidence needed to review a change is often split across booking calendars, facility constraints, vessel particulars, and tide information. A planner needs to compare a proposed change without silently overwriting the published schedule or filling missing safety inputs with guesses.

DockPilot is an evidence-first decision-support workspace for that review process. It is deliberately not a vessel-movement authorization system: authorized operators retain control of the official schedule and every operational approval.

What it does

DockPilot brings a schedule, relevant facility facts, vessel-data gaps, and tide context into one read-only workspace. An operator can select an existing booking or define a new-contract scenario, describe the change, and compare the published baseline with a candidate schedule.

The candidate is evaluated with deterministic logic that preserves all published phases and detects shared-resource overlaps. The workspace can export an evidence-rich review packet containing the proposal, conflicts, assumptions, sources, and fetch times. Where a required value such as actual draft or approved under-keel clearance is unavailable, DockPilot shows Not evaluated rather than inventing a result.

The live reference implementation uses public Canadian sources: Esquimalt Graving Dock bookings from Public Services and Procurement Canada, Canadian Hydrographic Service tide predictions, and published dock dimensions. It makes data provenance visible instead of presenting a synthetic operational record as fact.

How we built it

The front end is a React + TypeScript application, deployed with Netlify Functions. Server-side adapters retrieve and validate public booking and tide data; the browser keeps only a verified public snapshot for offline use. The schedule engine is deterministic and test-covered, handling phase-preserving shifts and resource-conflict checks.

For natural-language planning, DockPilot uses GPT-5.6 Terra through the OpenAI-compatible API with strict Structured Outputs. The model only interprets an operator's request into one constrained schedule adjustment using records supplied in the request. It cannot write to the official schedule, manufacture measurements, or make a safety decision. Deterministic code performs the subsequent date calculations and overlap checks.

Challenges and what we learned

The hard part was not displaying a timeline; it was preserving trust when the data is incomplete. We learned to make source identity, freshness, and gaps first-class UI elements, and to draw a clear boundary between an AI suggestion and an operational decision. That led to a system where AI interprets intent, deterministic rules check the proposal, and authorized people decide.

What's next

DockPilot is designed to validate a controlled, read-only pilot with a commercial shipyard: start with one dock and a narrow historical data contract, back-test against completed and cancelled bookings, then expand only after planner and operations UAT.

Built With

Share this project:

Updates