Part 1: Trustbit Logistics Hackathon - Behind the Scenes
In May 2022 we hosted a Hackathon on Sustainable Logistics Simulation. This was a hybrid event, running on-site in Vienna and remotely. Participants from 12 countries developed smart agents to control cargo delivery truck fleets in a simulated Europe.
Different agents competed against each other for cargo loads. The simulation kept track of key factors always accounted for by the logistic companies in the real world: road speed profiles, cargo profitability, fuel consumption, CO2 emissions, passing of time, supply chain dependencies, location profiles and driver resting time. The model combined these factors to compute profitability agents, allowing to rate them against the common and very concrete baseline.
Marketing talk aside, I want to talk about the implementation details of that Hackathon. How this was shaped by two forces:
Learning & Sharing in Trustbit and how we find ways to keep it practical.
Multiple departments at Trustbit working together towards a common goal.
Learning & Sharing
Learning & Sharing is an important part of the company culture. It is essential for creating a work place where we can continuously get better at what we do. This has long-term implications with the business strategy - we continue to adapt to new technologies and trends. It is part of the job. This atmosphere also helps us to attract people that are interested in continuous learning.
The Hackathon is a good example of that.
It all started with a simple idea last year: we want to do some interesting things with simulation technology, while keeping it practical and anchoring to the needs of the business. There was also a possible synergy with Machine Learning and dedicated hardware, that we didn't want to miss as a company.
We started by publishing Transport Tycoon Katas - a series of short exercises in the logistics domain. These exercises were about picking the optimal route for a truck traveling in a simulated environment. Each new exercise was a small incremental step on top of the previous one.
At Trustbit we learn by sharing. We were able to deepen our understanding of the domain by writing out these exercises, answering questions and handling the feedback. By the moment we have published Exercise 2.4, we had developed a shared mental model for building logistics simulators and talking about them.
When the time was right, we used this framework and all the simulation knowledge to start an internal research project on sustainability, simulation, and ML. In preparing for this grant and writing demonstration code, we learned about CO2 emissions calculations and writing logistics discrete event simulators in a few hundred lines of code.
Commit to the Hackathon
At some point later we decided to finally commit to the Hackathon event. It was planned from the very beginning, but we didn't have a concrete scope. So we decided to run a competition, where participants would program truck fleets delivering cargo in Europe. The event would be hybrid: a mixture of remote and online. Participants could compete for prizes in two categories - efficiency and sustainability.
For those that were interested, we would offer a parallel conference track with the Trustbit brownbag sessions on various topic (click here to see the videos). Keynote, sessions and competition highlights would be streamed from the on-site location.
Having an overall idea in place, it was possible to split the execution between various areas of responsibility at Trustbit.
Normally our projects use expertise from 3 foundational areas: Consulting (in the vein of context mapping, domain-driven design and Event Storming), Software Engineering and Data Science. For this event, we had to go even wider.
Marketing and Business took over the venue, catering, COVID testing stations, prizes and all the thousand nuances that are needed to run an event with many people. This also involved figuring out which platform to use, how to stream the event and how to organize people.
Engineering & Development, lead by our CTO, Sebastian Burgstaller, took care of the development experience for the participants: how to offer a streamlined experience for the participating teams, leading them from a first welcome and to a continuous deployment of their agent code into the simulation engine. This involved sandboxing, cloud scaling, accounting for remote and onsite teams, providing templates in multiple languages.
Data Science and Machine Learning took care of the core simulation: how to take multiple truck agents and run them together in a single simulated environment. How to visualize and troubleshoot. How to compute fuel consumption, CO2 emissions, road speed profiles, driver fatigue and warehouse opening hours. We've learned a lot.
Implementing in Fast Iterations
This might look like a complex setup to tackle at once, so we did what we always do in complex projects: we broke things in multiple smaller steps and iterated.
Within each iteration we would try to deliver concrete value, to have something tiny but working end-to-end. Something that could already be used as a final product. At the end, we would seek outside feedback and perform a Hackathon dry run with new colleagues within the company. Each one would let us re-evaluate expectations, highlight flaws and prioritize subsequent work.
Initially we planned 2 dry runs within the two weeks allocated for the final active development, but we actually had 5 or 6 within the same time interval.
This allowed us to aggressively manage scope of the Hackathon, focusing on the important parts and skipping less valuable things. Each small iteration brought us new lessons learned and allowed to move a bit further.
All together - this allowed to fit the entire project into the bigger picture and way of working.
When the Hackathon time came, it was a big event with its challenges, but it wasn't that challenging. Just one more run, this time with a more diverse group of participants.
How did it work out?
We had participants from 12 different countries from all over the world
Guest blog posts from the winning teams:
We've learned a lot, as individuals, teams and the company.
We are happy to offer our clients to hold such a hackathon event for the purpose of innovation, learning and team building. When this happens, there will be no big surprises, just another small step forward.