Carrier recommendation system for Trans.eu: intelligent matching powered by data and process modeling.

About the project

Client:

Trans.eu is one of Europe's largest freight exchange platforms, connecting freight forwarders with carriers. The platform handles tens of thousands of transactions daily and has continuously expanded its ecosystem of digital services for the transportation industry. Since 2017, fireup.pro has collaborated with Trans.eu as one of several engineering teams contributing to the platform's development, including Team Blue, responsible for selected backend systems.

Project goal:
Business
When a customer posts a freight load on the Trans.eu platform, they expect to instantly receive a list of suitable, trusted carriers. SmartMatch was built to deliver exactly that a recommendation list based on real operational data, not just availability, tailored to the customer's specific requirements and history.
Technological
Build a system from scratch that takes a raw list of candidates from an external recommendation service, applies multidimensional business filtering based on 21 factors, and returns a sorted, ready-to-use list of carriers. The system had to be transparent for the business, with the option to visualize the decision-making process graphically.

Customer experience

In the rapidly changing market environment that defines the SmartMatch solution, having a committed team is essential. They must also be able to turn ideas into working solutions while understanding the business domain. The fireup.pro team met all of these expectations.

Aleksander Olbert

Product Owner, Trans.eu

Buckle
From challenge

Key Challenges

1

Data from multiple sources, with varying quality

The initial candidate list was generated by an external system, originally based on machine learning that analyzed chats between customers and carriers, including where they operated and what types of goods they transported. In practice, this model proved imprecise. Only when Trans.eu introduced actual freight orders as system entities, with assigned carriers and routes, did the quality of input data improve enough for filtering to become meaningful. SmartMatch had to operate on data that evolved together with the platform.

2

Modeling a complex decision-making process

Choosing a carrier was not based on a single criterion, but on 21 factors, including certificates, trademarks, route matching, fleet age, previous experience with the customer, and more. Each filter could increase or decrease a carrier’s credibility. The challenge was not only to implement this logic, but also to present it in a way that was understandable for the business, so the product owner could see what was happening and why at every stage of the assessment.

3

Built from scratch and integrated with a growing platform

SmartMatch was developed while Trans.eu was migrating from a monolithic architecture to microservices. The system had to integrate with both existing and newly created services, consume data from multiple sources, and deliver results to the new platform without interrupting the live production environment.

Key functional requirements

Multi-factor filtering

  • selecting the best candidates from the initial list based on 21 business conditions, including carrier certificates, route compatibility, fleet age, cooperation history, trademarks, and others, with configurable weights for individual criteria.

Integration with an external recommendation service

  • retrieving and normalizing data from the system that generated the initial carrier list.

Process visualization

  • graphical representation of the recommendation algorithm in Camunda, available to the client’s business team.

Delivering results to the platform

  • exporting a sorted recommendation list to Trans.eu’s microservices-based platform.

Access to data from multiple services

  • aggregating carrier information from various sources, including certificates, activity statistics, and order history.
Through the solution

Architecture and approach

  • Team Blue built SmartMatch from scratch as a backend service using Java and Spring. The service retrieved raw recommendations from an external system and processed each candidate through a multi-stage filtering workflow implemented and executed with Camunda.
  • Camunda served two purposes. First, it executed the business workflow by evaluating carriers through consecutive filtering stages. Second, it provided a graphical visualization of the entire decision process. This allowed the team to clearly demonstrate to business stakeholders how each recommendation was produced, which filters were applied, and why a carrier received a higher or lower score—creating a transparent bridge between backend logic and product decisions.
  • Carrier information, including certificates, historical data, and activity statistics, was retrieved from Trans.eu platform services. Apache Spark was used for data analysis and aggregation, while RabbitMQ handled communication between system components. Elasticsearch, Kibana, and Grafana provided logging, monitoring, and operational insights.

Delivery approach

fireup.pro worked as a dedicated backend team consisting of several Java developers and a QA engineer. The project was delivered in two-week development sprints, with full ownership of the solution—from architecture and implementation to deployment.

    To the success

    Technological outcomes

    Built from scratch and deployed to production

    SmartMatch became one of the core services within Trans.eu's new microservices platform, delivering carrier recommendations for freight orders posted by marketplace users.

    Transparent decision-making process

    With Camunda, every stage of the recommendation algorithm was visualized and understandable not only for engineers but also for business stakeholders. Discussions about matching logic took place using process diagrams rather than source code.

    Multi-source data aggregation

    The system combined carrier data from multiple Trans.eu services, including certificates, historical records, activity statistics, and customer preferences, into a unified evaluation model.


    Project team
    Abstract background
    Aleksander
    Grzegorz
    Emanuel
    Adam
    Jacek

    Aleksander

    Backend Developer

    Tech stack

    Java

    Spring

    Camunda

    ApacheSpark

    Apache Spark

    Amazon S3

    Amazon S3

    RabbitMQ

    RabbitMQ

    Elasticsearch

    Kibana

    Kibana

    Grafana

    Grafana

    Your success is our success

    See how we can build a technological advantage for your company together.

    Book free consultation!

    We have a team that truly knows its stuff — we'll help you find a solution that works.

    Conclusions & recommendations

    The quality of input data determines the quality of the system

    The first iterations of Trans.eu's recommendation engine, based on chat analysis, did not deliver sufficiently accurate results. Only after the platform introduced actual freight orders as system entities did SmartMatch gain a reliable foundation for filtering. Investing in high-quality source data should come before investing in advanced recommendation algorithms.

    Camunda: excellent for process transparency, less suitable for high-throughput workloads

    The graphical process visualization provided significant value in business communication, allowing recommendation logic to be discussed using process diagrams instead of code. However, Camunda is not designed for maximum throughput. While it performed well at Trans.eu's scale, a substantial increase in request volume would have required additional infrastructure or architectural changes.

    Business process modeling as a product development tool

    The "model the process before implementation" approach proved valuable beyond engineering. Camunda diagrams became living documentation, clearly showing what had been implemented, which rules represented business logic, and where edge cases occurred.

    Background

    Time for your project.

    Turn your ideas into real solution and...

    ...Get in touch with us!

    Your vision, our realization
    Want to discuss the details?
    Let us know!

    I agree to the processing of my personal data by Fireup Software ...