Context Freight forwarder with ocean, air and land operations across several markets
The only API was a person
To find out where their cargo was, the client had to ask somebody. During office hours, and usually without the context to decide anything with the answer.
Work by our founding team.
The problem
An importer who wanted to know where their container was had exactly one route: email or call somebody at the forwarder. The answer came when that person could give it, during office hours, and often without the context needed to actually decide anything with it.
It was not for lack of data. Carrier statuses, transport events, customs paperwork, delivery notes, invoices — all of it existed. It was spread across different systems, mailboxes and conversations, and the only way to put it together was for a person to put it together. Between the client and their own information there was always a human intermediary.
The expensive part, though, was not the wait. It was when the bad news arrived. Delays, shortages and incidents became known once they had already hit the operation: when the goods were not there, when the plant stopped, when the end customer complained. Visibility always arrived after the damage, which is the same as not having visibility.
On the other side of the counter the cost was symmetrical. The forwarder’s team spent hours answering the same question — “where is my cargo?” — for different people, every day.
The decision
A platform was built from scratch, and two decisions define it.
First: build it as a product, not as bespoke software. Bespoke software delivers what the client asked for and stops there. Here we did the work a project-shaped engagement skips because nobody is paying for it separately: its own brand identity, a complete frontend design, apps published on the Play Store and the App Store, a documented API with a sandbox, and a back office so the internal team could administer the tool — user accounts, permissions, usage statistics — without depending on anyone.
And underneath, the part you don’t see, which is where it is decided whether a multi-client platform can actually be used: token authentication, role-based permissions inside each organisation, and every client’s data isolated from everyone else’s.
The second one explains the rest: it was built from the user inward, not from the operation outward. Tools in this sector tend to be built the other way round — they handle the paperwork the company needs to process and pass the whole complexity of it on to the client. You learn them, you don’t use them.
That decision is what orders everything else, and it shows in where things ended up:
- The AI went to one specific place, not onto the front page as a badge. It is for asking the operation a question in plain language, with no syntax, and getting the report back. The answer already lived in the data; what was missing was for it to arrive without somebody having to build the report. On the same basis, the system flags patterns nobody explicitly asked for: recurring delays, costs out of range, operational anomalies.
- Carbon footprint is calculated to a certifiable standard, under the GHG Protocol, the GLEC Framework and ISO 14067. The difference matters: it means being able to defend the emissions in a sustainability audit rather than estimating them for a slide.
- Clients can add shipments the forwarder does not carry and see them in the same view. It gets little use, and it is there anyway: if the dashboard belongs to the client and not to the provider, showing one leg of the chain is not enough to manage it.
- And the API runs both ways: clients pull when they want, or receive the data in their own ERP without asking. A client who never opens the portal is an acceptable outcome.
The result
Queries stopped going through a person. The client opens the web portal, the mobile app, or pulls straight from their own systems, at any hour. The platform centralises and normalises what comes in from carriers, airlines and operators, the container’s actual position, and what the team loads, and shows it in a single view across ocean, air and land.
The bad news moved: delays and incidents are flagged when they are detected rather than once they have landed. Each operation’s documents sit in their own folder, available for old shipments too. And the KPIs stopped being rebuilt by hand.
For the forwarder, the team stopped being the enquiry channel and went back to spending its time operating. For the client, knowing where the cargo is stopped depending on somebody picking up.