en flag +1 214 306 68 37
Migrating Truck Driver App to .NET MAUI and Adding AI-Powered OCR

Migrating Truck Driver App to .NET MAUI and Adding AI-Powered OCR

Industry
Transportation & Logistics
Technologies
.NET, AI, C#

About Our Client

The Client is a full-service intermodal transportation and logistics provider in the US.

Urgent Need to Migrate Mobile App From Xamarin to .NET MAUI

The Client had a Xamarin-based mobile app that helped truck drivers manage loads and trips. Drivers could view loads, accept or reject them, and update their status as they moved from trip start to arrival and completion. The app also allowed them to upload paperwork photos from the camera or gallery and mark loads as inactive with a reason. To stay in touch with office staff, drivers could send messages and attach photos when necessary.

With Microsoft ending support for Xamarin, the Client needed to move this app to .NET MAUI. Continuing to rely on Xamarin would leave the app without official platform support and updates, making it increasingly difficult to address security issues and maintain compatibility with newer OS versions.

To address these risks while keeping the app stable for drivers, the Client engaged ScienceSoft’s team. The key factors behind the Client’s choice were ScienceSoft’s strong .NET and mobile development expertise, proven experience in application modernization, and understanding of the transportation and logistics domain.

Migrating the Driver App to .NET MAUI and Adding New AI and Security Features

ScienceSoft composed a team of a project manager, a .NET MAUI developer, a UI/UX designer, and a functional testing engineer.

Discovery

ScienceSoft’s team started with a detailed assessment of the existing Xamarin app to understand its architecture, codebase, dependencies, APIs, platform-specific components, and core driver workflows. This gave the team a clear picture of the app’s current state, the scope of the transition, and the work required to move it to .NET MAUI without disrupting essential functionality.

Based on the assessment, the team mapped the existing Xamarin components to their .NET MAUI counterparts, identified dependencies that needed replacement or updates, and planned the work in stages. The assessment also highlighted several known UI/UX issues and technical limitations that could be addressed as part of the project, including overloaded screens, difficult-to-navigate lists, excessive alerts, and inconsistent icon sizing. The team also identified opportunities to strengthen security and refactor parts of the codebase.

Design

ScienceSoft then translated the planned UI/UX changes into concrete specifications for development. A key part of this work was redefining the app’s entire visual interface through three appearance modes: System, Light, and Dark. Rather than simply adding a theme switch, the designer refreshed the existing design across the application, creating a more modern, consistent, and intuitive experience while addressing usability issues inherited from the old interface.

Other planned improvements included replacing dense, console-style load details with more readable layouts, improving icon scaling across screen sizes, simplifying navigation, reorganizing button rows to reduce accidental taps, adding filters to the History screen, and introducing a dedicated paperwork screen where drivers could select the completed order associated with their documents. ScienceSoft also planned less disruptive notifications for events occurring while a device was offline, such as missed updates or actions requiring synchronization once connectivity was restored. For each change, the team estimated the implementation effort and identified the required front-end work.

Migration

With the comprehensive plan in place, ScienceSoft migrated the app from Xamarin to .NET MAUI, updating the project structure, adapting the existing code and UI components, and migrating navigation and platform-specific functionality. The team also replaced outdated or unnecessary third-party dependencies with MAUI and Microsoft-supported alternatives where appropriate. This reduced dependency on external components and made the codebase easier to maintain and update.

Alongside the framework migration, the team refactored inefficient code parts and implemented the planned usability improvements.

After the migration and UI/UX changes, the team tested the app across supported iOS and Android devices and operating system versions. They verified critical driver workflows and device-specific functionality, fine-tuning the UI and fixing compatibility issues as they emerged.

Improving security

Because the app handles sensitive transportation and delivery data and is used on drivers’ mobile devices, ScienceSoft’s team also strengthened its security during the modernization. Without these measures, data could be exposed during transmission, retrieved from a lost or compromised device, or accessed through an unauthorized app session.

  • Securing API communication. To protect data exchanged between the mobile app and back end, the team ensured that all API calls use HTTPS with up-to-date TLS protocols on both the client and server sides. This encrypts data and protects it from being intercepted or modified while in transit.
  • Encrypting local data. The app stores data locally in SQLite, so the team also encrypted the local database using SQLCipher, with encryption keys protected by native iOS and Android security mechanisms. Without this, someone who gained access to the device or its stored data could potentially retrieve information from the local database.
  • Adding biometric sign-in. The team introduced biometric authentication as an additional sign-in option. After logging in with their existing credentials, drivers can enable or disable biometric sign-in. This speeds up access for drivers while reducing the risk of someone accessing the app if they obtain the device and its login credentials.

Improving document quality checks

While working with the Client, ScienceSoft’s team noticed that office staff often struggled to process proof-of-delivery documents because some driver-submitted photos were blurry or otherwise difficult to read. To address this, ScienceSoft first improved the photo preview, letting drivers see how the image would appear after compression and zoom in or pan to inspect fine details, including text. The team then added automated checks for blur, brightness, contrast, and edge density to flag potentially poor-quality images before upload. This gave drivers a chance to retake photos on-site, reducing the risk of document rejection and follow-up delays.

To go a step further, ScienceSoft’s team proposed using computer vision to check whether document text was actually readable, rather than relying on image quality metrics alone. The Client liked the idea, and the team evaluated several AI-powered optical character recognition (OCR) technologies — Apple Vision for iOS, Google ML Kit for Android, and Tesseract — to find the best fit for the app. Testing on the Client’s sample documents showed that the native frameworks performed significantly better than Tesseract. So, the team implemented platform-specific OCR checks using Apple Vision and Google ML Kit. In final testing, these AI-powered OCR engines successfully recognized around 90–95% of the text in the sample documents, enabling the app to instantly warn drivers when a photo might be difficult to process and prompt them to retake it before submission.

Adding automatic crash reporting

Previously, the support team learned about app crashes only when drivers reported them, often without enough information to identify the cause. This made troubleshooting difficult and could delay fixes for issues affecting drivers mid-delivery.

To give the team better visibility into app stability, ScienceSoft’s team integrated Firebase Crashlytics. The tool automatically collects crash reports and diagnostic details. With a clearer picture of crash frequency and impact, the support staff can prioritize fixes based on evidence and address issues more efficiently.

Modernized Driver App With New Functionality Delivered in 4 Months

In just four months, ScienceSoft’s team migrated the truck driver mobile app from Xamarin to .NET MAUI without disrupting its core functionality. Along the way, the team improved the app’s UI and UX, cleaned up its code structure, and strengthened security with encryption and biometric authentication. The team also introduced AI-powered OCR to check document readability, ensuring proof-of-delivery photos were clear enough for office staff to use.

Careful project planning and efficient delivery helped ScienceSoft complete the project 5% under the planned app modernization budget, while leaving the Client with a more maintainable, secure, and user-friendly mobile app.

Technologies and Tools

C#, .NET 10, MVVM, SQLCipher, .NET MAUI 10, .NET MAUI Shell, Apple Vision framework, Google ML Kit, Firebase Crashlytics.

Have a question for our team or need help with your project?

Our team is ready to provide client references, estimate your project, or answer any other question related to your IT initiative.

Drag and drop or to upload your file(s)

?

Max file size 10MB, up to 5 files and 20MB total

Supported formats:

doc, docx, xls, xlsx, ppt, pptx, pps, ppsx, odp, jpeg, jpg, png, psd, webp, svg, mp3, mp4, webm, odt, ods, pdf, rtf, txt, csv, log

Preferred way of communication: