The problem
OceanSMART is a container-shipping ERP. Global logistics teams use it to plan vessel and container movement across ports and terminals, reconcile paperwork, and keep operations moving when something inevitably slips. It is boring-but-critical software: if it breaks, container-ships do not sail on time and freight does not reach its port.
By 2022 the frontend stack was two years out of date. The tracking views were lagging real operator needs. Upgrading the stack and shipping new tracking features had to happen in parallel, without stopping the ships.
Approach
- Refactor in place, not rewrite. The stack upgrade went in incrementally behind the same product surface, so operators kept using the tool while the engine was changed under them.
- Ship tracking features alongside the upgrade. Product did not want to wait six months for the modernization to finish before seeing new value. We sequenced the work so every sprint shipped visible operator improvements and invisible stack improvements together.
- Boring-but-critical posture. Logistics software has to be correct before it is clever. Most of the work was making sure the right data showed up on the right screen at the right time, then making that interaction feel fast.
Outcome
- The frontend stack caught up, without a full rewrite and without stopping the product roadmap.
- Vessel and container tracking became more useful for the operators who actually use OceanSMART day-to-day.
- Real-time operational visibility improved for port and terminal workflows inside the platform.
Stack notes
JavaScript / TypeScript on the frontend, Node.js services, GraphQL for the internal APIs, MongoDB for persistence. The hard part was never the code. It was understanding how global shipping operators actually use the product on a bad day, and making sure the tooling matched that reality.