Port Call Planning for a Namibian Multipurpose Port
Designed and built a clickable port call planning console for a multipurpose port at Walvis Bay: every call from pre-arrival notification to departure, a berth planning board that refuses windows breaking length, draft, cargo or dangerous goods rules, and an anchorage queue that records why each ship is waiting.
Most of our work is under NDA. Per agreement, we can share the work but not the company details - all names and identifying information shown here have been changed.
Port control dashboard, calls list with table and timeline views, port call detail with 5 tabs, the berth planning board and the anchorage queue. Every one of the 27 demo calls opens its own detail page.
Length against the berth limit, arrival draft plus 10% under-keel clearance against depth and predicted tide, vessel type, dangerous goods class, and overlap with other windows and blocks. A failing drop is refused with the reason.
From notified, documents complete and berth confirmed through pilot on board, all fast and cargo operations to clearance granted, last line off and departed, each with the time it was reached.
27 vessels with valid IMO check digits, 9 berths on 4 quays, 7 shipping agents, 4 berth blocks, 5 pilots, 4 tugs, 3 mooring gangs and 6 staff roles to switch between.
Namib Reach Ports planned berths on a whiteboard and a shared spreadsheet. Agents emailed scanned pre-arrival forms that port control re-typed into three places, ETAs were whatever the agent last said, pilots and tugs were booked by phone, and dangerous goods and security declarations sat in an inbox. Ships waited at anchor about 14 hours on average and nobody could say why.
Berthplan takes a call from the agent's first notification to departure: FAL documents and declarations checked in one place, declared ETAs shown beside the AIS estimate, a berth board that checks every window against the berth's rules and the tide, an anchorage queue with a reason for every wait, and port dues built from the published tariff.
Walvis Bay handles about 3,200 calls a year: container ships, dry bulk carriers, tankers at a small jetty, fishing and reefer vessels and seasonal cruise ships. Each berth has its own length, depth, cargo and dangerous goods limits, and every call depends on agents, terminals, pilots, tugs and the harbour master at once.
Whether a ship fits depends on its length against the berth, its draft plus the under-keel clearance against depth and the tide at berthing time, its cargo type and the dangerous goods classes the berth permits. On a whiteboard, none of that was checked until someone noticed.
The IMO FAL Convention sets the arrival set: General Declaration, Cargo Declaration, Ship's Stores, Crew's Effects, Crew List, Passenger List and the Dangerous Goods manifest. Agents sent them as scanned forms, often late and in different versions, and port control typed them in again.
Ships arrived hours early and sat at anchor while a berth was still occupied, then the pilot and tugs were booked by phone. Waiting averaged about 14 hours with no record of whether the cause was the berth, the cargo, the tide, documents or services.
Under SOLAS and the ISPS Code the security officer reviews pre-arrival security information, and IMDG Code declarations have to be checked against each berth. With both in an inbox, nobody could prove they had been reviewed before a ship came alongside.
Mapped 12 user roles from port control to shipping agents, pilots and terminal planners, 36 screens across staff, agent portal and service provider views, and the data model for vessels, berths, port calls, berth windows and plan versions, FAL documents, declarations, service jobs, tariffs and an append-only audit log. Wrote down the rules the design follows: the Namibian Ports Authority Act, FAL forms, SOLAS and ISPS, the IMDG Code, MARPOL waste notification and AIS as a hint, not a record.
Built 5 key screens on a production dashboard kit: the dashboard with KPIs, a port picture of every berth and the anchorage, needs attention and the next 48 hours; the calls list; the call detail with documents, constraint checks, declarations, tariff charges and activity; the berth board with zoom, tide band, drag and drop, Check plan and Publish plan; and the anchorage queue with reorder and call forward. All actions run on shared local state.
AIS feeds from Spire Maritime or MarineTraffic, vessel particulars from Sea-web, StormGeo weather, the regional port state control database, a national maritime single window where one is live, DCSA just-in-time messages, SAP Business One or Sage, and EFT in NAD through a Namibian bank. Staff auth by role, the full audit log, the agent portal, crew and terminal views, marine services schedules, declarations queues, departure clearance and billing.
Each bar carries red badges for failed rules, such as a dangerous goods class a berth does not permit, and amber for warnings, such as a draft that needs high water. Hard failures stop the drop, warnings need a reason, and a plan with an exception needs harbour master approval before it is published.
The calls list shows the declared ETA beside the AIS estimate and the difference, the board draws the expected slip as a lighter tail on each bar, and positions older than 3 hours are greyed out on the anchorage map.
The anchorage queue records why each ship is waiting, from berth occupied to cargo not ready, draft or tide, documents or pilot and tug availability, and totals waiting hours by reason. Reorders are logged, and moving a ship ahead of an earlier arrival needs harbour master approval.
Each call's checklist shows FAL documents, security review, dangerous goods review, waste notification, berth and services as done, pending or blocked. Crew and passenger lists show counts only, and opening names is logged. Charges are built line by line from the published tariff.

Designed and built a clickable crewing platform for a Mumbai ship manager running 45 tankers and bulk carriers: a relief timeline per vessel, a seafarer register with document status, reliefs due with proposal and approval rules by rank, and crew changes planned at a port with readiness, travel, letters and a cost sheet against budget.

Designed and built a clickable plant console for a Dakar fishing cooperative that exports tuna, snapper and octopus to the EU: every lot traced back to the vessels, trips and landings behind it, histamine results checked against the cooperative's policy, and catch certificate data built from recorded landings with a balance check that refuses to export more than was landed.
Enterprise Software Engineering - Human + AI
Contact Us
© 2026 - Copyright. All Rights reserved Oceanlab
Location
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
Enterprise Software Engineering - Human + AI
Contact Us
Locations
Global Headquarters
21 Merchant Road, 3rd Floor, Singapore 058267
Main corporate office and leadership operations
North America Office
548 Market Street, PMB 12345, San Francisco, CA 94104
Client operations and business development
India Office
402 Shivalik Shilp II, SG Highway, Ahmedabad 380015
Engineering and delivery center
© 2026 - Copyright. All Rights reserved Oceanlab