Skip to content

Overview

IMPA (the International Marine Purchasing Association) publishes the Marine Stores Guide, the standard catalogue the shipping industry uses to identify what it buys.

Every item on a vessel, from a hydraulic seal to a roll of toilet paper, has a six-digit IMPA code. When a purchaser needs quotes, that code is what removes the ambiguity: one number, understood the same way by every supplier in the world.

Over several years, we've modernised this in three projects: a management system for the team to monitor data and users; an API that lets shipping companies integrate the data with their own tools; and an offline-first application for subscribers to browse it.

A local-first, universal application

The maritime industry is awash with clunky enterprise systems where user experience seems like an afterthought. We wanted our tool to be built around utility, relying on common interface conventions so people intuitively know how to use it.

  • A screenshot of the Marine Stores Guide web app showing the browser
  • A screenshot of the Marine Stores Guide web app showing the shopping basket
  • A screenshot of the Marine Stores Guide web app showing light mode

The app had two main technical requirements: it needed to sync and store the data locally so it was still usable aboard vessels with patchy internet connections, and it needed to be easy to maintain and provide support for.

For this reason we made the decision to build a web app, using cutting-edge, browser-based technologies. It meant the application would run on any modern device with a browser, without the technical and support burden that comes with a native application. It also meant we could push updates to the app instantly, without going through lengthy app store processes.

Using advanced browser technologies we could sync the full catalogue of data into the browser's local storage, and keep that data up to date.

Data management system

After a lengthy technical review, we settled on a tool called Directus as the back-end management system for the data. Directus allows the team to manage all the products and user licenses through a simple user interface, benefitting from asset management and full revision logs.

We also developed bespoke integrations for importing data from an Excel spreadsheet, as well as live syncing with workOS to provide the authentication layer for the web app.

  • A screenshot of the directus admin showing a product listing
  • A screenshot of the directus admin showing a product's detail page
  • A screenshot of the Directus admin showing a revision history
  • A screenshot of the Directus admin showing the asset management

The API

The API allows shipping companies to access the data that’s published from the management system and sync it into their systems.

We ensured the API was fast, stable and well documented, leaning on Fastify as our framework of choice, whilst sitting behind AWS infrastructure.