send us stickers

Real-time connected container tracking at the chainport hackathon

Connecting IoT, AI, and Blockchain through a collaboration between Innovation Unplugged, Craftworkz and TheLedger

Kevin Leyssens
Published in
6 min readOct 23, 2018


That’s right, we participated in a hackathon again! First of all a shout out to Junction and all involved parties and sponsors for organizing this amazing hackathon. As well a shoutout to Innovation Unplugged and Craftworkz to collaborate with us and developing this amazing solution and taking on this wonderful adventure with us! The #chainporthack was a splendid edition with 220 participants in Antwerp and at the same time 220 participants in LA, tackling the same challenges listed below in the image.


We mainly focussed on the ‘Interport’ and ‘Safety & security’ challenge but implemented some features of gamification, sustainability, and process & document flow in it as well. As for other hackathons, we started from scratch and after 48 hours our solution was hosted on AWS. Live and ready to use! The only thing that was made beforehand, was a 3D printed container. Yeah, I just said 3D-printed, pretty cool, isn’t it? So let’s get on with it and showcase what we’ve built.

Interport: ETA(I)

The main issue from the interport challenge was the Estimated Time of Arrival (ETA). The arrival of late shipments costs the companies and ports a lot of money. If they could predict the time more accurately, they could use resources better and more efficiently. We started thinking: “How can we make it smart and correct?”. Looking at the current situation and currently available solution. And of course, we instantly thought of Artificial Intelligence (AI). Leveraging its power to predict the ETA was a genius idea. That’s why we called it ETAI!

How does ETAI works?

Every container has a route to follow. Let’s say from LA to Montreal to Barcelona to Antwerp by boat and from Antwerp to Hamburg by truck.
Knowing its predefined route and arrival at each port, there can be done a first estimation if the shipment will arrive at the right time at the destination. No AI needed for this. But then it gets interesting. Data has shown that arriving late at one of the previous destinations is not really a good indicator for the prediction of the ETA.

Board and props for demonstration used at the hackathon

Here is where we implemented the AI. The algorithm will check the nautical conditions to predict the new ETA. Because wind speed, wind direction and sea-state (high waves, etc …) have a huge impact on a boat when sailing those kinds of distances. E.g.: a captain will decrease speed when there are high waves on the sea. Taken these parameters in to account between all the stops, the AI will predict if the container will still arrive on time, even when it is late at one or multiple of the stopovers.

Safety & security

Actually, this is the coolest part we did in my opinion. Inside the 3D-printed container, there were some IoT devices. These devices were measuring: tilting, temperature, humidity, water and eSeal. So when the container got tilted, a red tilting alert is shown instantly on the dashboard and those actions are stored on the blockchain.

Real-time container information

Ok cool. Tilting, getting a red alert on the dashboard, nothing fancy really. But now comes the most interesting part. When the eSeal is broken and the doors of the container are opened, a picture is taken from the thief, shown on the dashboard and an alarm inside the container is triggered! An extension would be that this face would be interpreted by AI and matched with databases from Interpol, ports security and other databases where criminals are stored.

Real-time eSeal opening


For the IoT device(s) plugged in the container, we need a power source. So we started thinking again (did a lot of thinking during that weekend). When looking around, the watch of Jonas Snellinckx came to my mind. He has an automatic watch (self-winding).

An automatic or self-winding watch is a mechanical watch in which the natural motion of the wearer provides energy to run the watch, making manual winding unnecessary.

A container is always in motion due to the motion of the ocean and even when being driven by a truck. So what if we covered the floor of the container with special tiles that convert the kinetic energy of the ‘bouncing’ to electrical energy. The excessive energy is stored in a battery in case there would be no motion. The most amazing part of this solution is that we are talking about 100% self-generated energy and that such tiles already exists!

Gamification with self-sovereign identity

We wanted to incentivise the dockworkers for quick document handling. When completing the tasks needed to be done on the container, they would receive some kind of points. Having enough points for doing a good and fast job, they could exchange them for extra vacation of other benefits.

But we turned 180 degrees and added self-sovereign identity through uPort. A captain can claim his badge when done a perfect shipment. When having a lot of these badges, captains can ambiguously claim and proof they have done a lot of perfect deliveries.

Document & process flow

We can predict a more accurate ETA and can check the conditions of the container throughout the whole route. I already hear you thinking: “Aren’t there any penalties related to some conditions?”. And the answer is YES. These conditions and actions are written in smart contracts and stored on the (Hyperledger fabric) blockchain. E.g.: When a certain temperature is above the maximum limit, the smart contract will be triggered and penalties are added. At the end of the trip, all the penalties are summed up and can be viewed transactionally through the history that is saved on the blockchain.
What has that to do with document & process flow? The rules of these smart contract are defined in a paper contract, which is linked to the container and can be viewed in the same application as well. This way there can be no dispute about the penalties added.

Simon says raise your leg as high as you can!

But at every port, a container has to go through a process, some checks you might say. We implemented that as well. At every port, 3 new actions (Simon says) were generated. This time again, when not all actions were done, penalties are added. A real example of a “Simon says” can be: “Move container to place X”.

real-time data dashboard

Reach out to us @ TheLedger. If you are interested in AI, reach out to Craftworkz. For all things IoT, please contact Innovation Unplugged.



Kevin Leyssens

Full stack blockchain developer and consultant at TheLedger.