Vedia Keeping Pollution In-check draws inspiration from Vedia’s background of managing, reporting and mitigating emissions in road transport. For this Hackathon we wanted to expand our expertise into making multi-modal emissions visible for the user and allow the user to make responsible decisions based on real data.

The usage of air cargo and making it more sustainable depends on how fast the transport needs to be and if the flight will be flown any way.

As an additional feature, we wanted to speed up the crossing of international borders. By allowing customs officials access to the documentation data via OneRecord, we make it possible for the officials to check the shipments in advance and enable borders to have automation in crossing them.

What it does

Keeping Pollution In-check compares multi-modal routes for cargo and helps the user choose more sustainable alternatives for transport based on the carbon footprint of each option. KPI creates the shipment order into OneRecord once the user has chosen which route they want. The shipment information is updated and tracked in OneRecord by creating events out of sensor information (location, temperature).

We work in conjunction with team Happy Salmon and provide them access to our data in OneRecord and provide two-way communication between two nodes of OneRecord.

In addition to the booking app we have created an app for the customs official controlling the border. The border crossing app fetches shipment data from OneRecord and displays it to the official at the border. By being able to see shipment data before it reaches the border, the customs official can allow cargo to pass through quicker by seeing the waybill and events related to it. In our demo use case, in order for the shipment to keep moving, the user needs to allow it to pass the border. This way our implementation simulates communication between businesses and authorities by leveraging the OneRecord.

The system simulates a shipment being transported by creating events every few seconds and simulating that each time an hour has passed. This creates the location events necessary for demonstrating the progress of the shipment.

How we built it

Coffee, love and the power of rock'n'roll! For our backend we used Python fastapi because of its ease of implementation and rapid development. For our database we used a simple sqlite server for its ease of configuration. We used the IATA OneRecord server after a few of our own fixes that made the server work flawlessly. We also used the good trusty Postman for extensive API testing, both our own and IATA OneRecord. For our frontend we used React, because we are experienced in it and it served the flexibility we needed.

Our Itinerary-building algorithm

We know all the possible routes (by truck, plane and boat) between every two cities. Once the user selects the starting location and destination, we use a weighted tree of routes to create all possible itineraries and present them to the user, including kilometers, co2-emissions, price and time duration. The tree is created iteratively, flexibly (any new location or route will automatically enter the algorithm) and contains some pruning.

How to try it out!

Keep reading below and use the app in the suggested order. So, first read through the next three chapters and then first use the route finder to book a shipment and then use the border crossing app.

Route finder and shipment booking You can select any starting and ending point for a shipment. Then you can select one of the given routes and create shipment. Immediately when you create shipment we create it in 1R. Also at the same time we start a fake transportation process in the background. It creates events for that shipment in 1R with current geolocation and temperature information. For the special case when you select shipment from Tromso to Helsinki our fake transportation is going to stop at the border crossing point between Norway and Finland and we create a special event that says cargo is at the border.

Border crossing If there's an event saying that there's cargo at the border, you will get a notification and the option to accept or deny it. When you accept it, fake transportation fires up again and continues to the destination point.

Fake transportation

We took real time and positions for shipment and sped up the transport 900 times. So the trip from Tromso to Helsinki should take less than 3 min :) Please keep in mind that we can fake only 1 shipment at a time so please do not spam multiple shipments in a short period of time because otherwise they'll be queued and take much longer to "transport".


Our 1R server

Challenges we ran into

Our biggest challenge was the IATA OneRecord server. Luckily we started our work on it at the very beginning. We had problems with setting up the server, fixed with the help of Henk Mulder (big thanks, Henk!), issues with Java server due to our limited knowledge of Java. Luckily all these challenges were overcome with the power of our team. We also had a fun challenge of creating a fake transportation that created interesting challenges for us to hack through. To the end we also faced the bane of all developers. Time is running out and fixing bugs creates more bugs. Luckily we had the tenacity of pulling through and getting most of them fixed.

Accomplishments that we're proud of

We are most proud of our IATA Onerecord server. We had no prior experience in setting up and working with one. The small fixes we had to make to get it to work were very satisfying and gave a proud feeling for us. We are also very proud of the extremely stylish and fresh frontend that is not only good looking, but very easy and extremely smooth to use. On a less technical point, we are very proud of us having fun at the Hackathon and even sharing our adventures and personality to everyone through our active social media presence. We are also proud of the personal growth of the team during these few days. It was our first hackathon so we are proud of what we could come up with in such a short time.

What we learned

We gained lots and lots of experience and knowledge in working with the IATA OneRecord API. This experience and the lessons we learned will certainly carry us even outside of this time. In a world where we have not been able to work in a single place, we learned the lesson of how much easier it is to work when the whole team is in the same place. Everything from communicating to brainstorming was so much easier than the new normal of working remotely. In contrast to this, we learned the grueling result of how hard it’s to work with a new remote team, when you have not made a very detailed plan. Plans changing and schedules changing definitely did not make this lesson any easier to learn. Also one can definitely work with less sleep than required.

What's next for Vedia Keeping Pollution In-check

We should add at least validation, some basic level of security and log-ins. We could implement a communication channel between the customs officials and drivers of shipments to speed up eventual checks. We should also add an interactive map to follow the shipments movements in real-time. We could integrate additional devices to the solution, such as electronic seals.

Built With

Share this project: