
Probot Palletizer
is a mobile application for managing FANUC robots used in warehouses and production lines to automate logistics processes. The app allows operators to control box sorting, movement, and pallet assembly in real time, set operating parameters, track task progress, and view detailed performance statistics of the connected robot over selected time periods. Visual process control, system notifications, and quick start and stop tools make daily operations fast and reliable, while English and French support ensures convenient use in international work environments
Customer
Industry
Robotics & Industrial Automation
Region
Canada
Since
2025
Probot Systems is a Canada-based industrial automation company that designs robotic solutions based on FANUC robots, known worldwide for their reliability and performance. The company develops collaborative palletizing systems for the food and beverage, pharmaceutical, and manufacturing sectors. Its solutions help businesses optimize production lines, reduce cycle times, and address labor shortages
Solution
We joined the project to modernize the existing Probot Palletizer application built with .NET MAUI on .NET 10 and to extend its functionality according to the client's new requirements. Pages that did not match the client's approved mockups were redesigned: outdated components were replaced, and a set of new custom UI elements was developed, improving both performance and the overall user experience.

Previously available only on Android tablets, the app now also supports mobile phones. The tablet version is used in production, while the mobile version includes a Demo mode with stub data, enabled by default, that allows the client to showcase the app's capabilities to potential customers without connecting to a real robot.


We refactored the database structure, tables, and models, introducing Entity Framework migrations that eliminated the need to reinstall the app after database changes. The palletizing pattern calculations were moved into a separate Pallet Layout Engine, decoupled from the UI and the Evergine Framework, and a new image generation mechanism visualizes each pattern. We also fixed memory leaks in the Evergine 3D engine and moved non-UI operations off the main thread, making the app noticeably faster and more stable.


For secure communication with the robot, we developed a custom HTTP client that supports both Wi-Fi and Ethernet and routes sensitive requests exclusively through Ethernet. A special binary file format provides the robot with all the information needed to build multi-level pallets according to the selected pattern.


To help operators resolve issues faster, we added an AI assistant available via a floating button, which retrieves data from the robot and the app to suggest how to fix errors. The app also received a statistics page with performance charts, real-time notifications about robot status, access control for restricted features, and interactive tutorials in 10 languages with step-by-step guides and speech-to-text support.
The result is a stable, secure, and high-performance application that gives operators full control over palletizing robots and helps businesses make their logistics processes more efficient.
Provided services
Team Composition
2
.Net MAUI Developers
1
Backend Developer
1
Project manager
1
UI/UX Designer

Technologies
Mobile development
C#, .NET MAUI
3D & Data Visualization
Evergine Framework,
LiveChartsCore
Tools
CommunityToolkit,
Mopups, Newtonsoft
Architecture
MVVM,
PropertyChanged.Fody
Connectivity
Custom HTTP Client

Challenges
Decoupling palletizing logic from the UI
The palletizing pattern calculations were tightly bound to the user interface, causing conflicts in the codebase. Separating them into an independent Pallet Layout Engine required extensive refactoring and conversion of results into Evergine Framework entities
Eliminating memory leaks and improving performance
The Evergine 3D engine caused memory leaks, and heavy non-UI operations running on the main thread slowed down the interface. Fixing this required a thorough analysis of memory usage and a reorganization of the app's threading model
Transferring complex instructions to the robot
Communication with the robot required transmitting large volumes of data in a binary file with a special encoding, while some of the necessary data was initially missing in the app, increasing the risk of errors during robot operation
Ensuring secure multi-channel connectivity
Connecting to the robot required support for both Wi-Fi and Ethernet along with secure data exchange. Standard platform tools could not meet both requirements at once, so we built a custom HTTP client that routes critical requests only through Ethernet
Integrating an AI assistant with access to robot data
Building an AI assistant that helps operators fix errors required giving it secure access to both robot and application data and ensuring that its answers are relevant to the user's specific request and the current state of the system
Our team is always ready to assist and answer your inquiries
Our Location
ul. Złota 2/19, 15-016, Białystok, Poland