Blog

Android Offline Live OCR & Translation with ML Kit and Tesseract

October 4, 2025

Repository: https://github.com/AndreiMaksimovich/android-live-ocr-and-translation–demo In this article, I’ll walk through some technical details of the creation of an android technical demo project that showcases offline live OCR and translation. The project uses Google ML Kit Text Recognition V2 for OCR and Tesseract as a fallback (when language in not supported by ML Kit), and relies on Google ML Kit Translation for on-device translations. Technology Stack The application is built using Kotlin and XML layouts. The application integrates several open-source and Google-provided components: OCR Implementation In this demo, OCR is implemented through an abstraction layer with a factory that provides an OCR service.…

Read More: Android Offline Live OCR & Translation with ML Kit and Tesseract

Cross-Platform Maps in React Native: Android, iOS, and Web

September 25, 2025

All source code and example project is available here: https://github.com/AndreiMaksimovich/react-native-maps-web–demo Android iOS Web Give it a try:  The Problem Maps are one of the most common features found in modern applications. In React Native, the default choice for maps is react-native-maps. While it works well on iOS and Android, it doesn’t provide support for the web. In fact, none of the popular, well-established map libraries currently offer proper web build support. Notice: There is a library called teovillanueva/react-native-web-maps, but it hasn’t been well maintained recently and still offers only very limited functionality. The Goal Our objective was to build a…

Read More: Cross-Platform Maps in React Native: Android, iOS, and Web

Optimizing Unity WebGL: Separate Builds for Mobile Web and Desktop Web

September 18, 2025

Why Use Double Builds for Your Unity 3D Game Texture Compatibility One of the key reasons is asset compatibility. In particular, texture support differs significantly between Mobile Web (Android & iOS devices) and Desktop Web (macOS, Linux, Windows). To better understand why this matters, let’s take a closer look at the data:   Desktop Browsers iOS and Android browser RGB Compressed ETC2 No Yes RGB Crunched ETC No Yes RGBA Compressed ETC2 No Yes RGBA Crunched ETC2 No Yes RGB Compressed DXT1, also known as BC1 Partial (*) No RGB Crunched DXT1, also known as BC1 Partial (*) No RGBA…

Read More: Optimizing Unity WebGL: Separate Builds for Mobile Web and Desktop Web

Automating Local React Native Expo EAS Builds for Android, iOS  and Web

September 17, 2025

In this article I want to share a simple example setup for automating local React Native Expo builds with EAS for Android, iOS, and Web. The workflow demonstrates how to: automatically generate platform specific builds, install generated .apk file on all connected Android devices, deploy .ipa file to all connected iOS devices, and spin up a Docker container to serve the web build. The core idea of this setup is to provide simple automation for preview test builds. However, it can be easily adapted or extended to support production builds, automated distribution, and additional workflows. All scripts, configurations and docker…

Read More: Automating Local React Native Expo EAS Builds for Android, iOS  and Web

Containerizing Unity WebGL/WebGPU builds: Host Your Game with Docker and Nginx

September 14, 2025

When working with Unity projects supporting WebGL/WebGPU, setting up a consistent environment for development, testing, and production can quickly become a challenge. Docker solves this problem by providing lightweight, reproducible containers that bundle your Unity Web build with everything it needs to run. Developers can spin up an identical environment on their local machine, a staging server, or in production – ensuring consistent behavior across the entire pipeline. With Docker, testing is more reliable, deployment is streamlined, and scaling becomes as simple as running more containers, and moving from a cloud provider to your own servers is as simple as…

Read More: Containerizing Unity WebGL/WebGPU builds: Host Your Game with Docker and Nginx

Automating Unity Builds with CI/CD

September 12, 2025

In this article, we’ll look at Unity APIs and supporting tools that can help you create a robust CI/CD pipeline for your projects. A complete example project – including the Unity project, Jenkins configuration, Docker containerization templates, and scripts – is available here: GitHub Repository Why Automate Builds? Save Development Time Over the lifetime of a project, you’ll probably create hundreds or even thousands of builds for QA, internal testing, and release. Automating these steps saves countless hours compared to manual workflows, far outweighing the time required to build the automation system. Ensure Consistency Build pipelines eliminate human error. Instead…

Read More: Automating Unity Builds with CI/CD

iOS SwiftUI Apple Maps: Show User Location and Prevent Map Annotations from Rotating with the Map

September 11, 2025

While working on an iOS app that uses Apple Maps, I was surprised to discover that there’s no built-in option to prevent map annotations (markers) from rotating with the map, nor is there a standard way to keep the user’s location and heading visible at all times. This short blog post demonstrates a practical approach to always displaying the user’s position and showing device rotation alongside it. How It Works In this example, the ViewModel uses CLLocationManager to receive updates about the device’s location and heading. We also track changes to the map camera and store the camera’s heading angle.…

Read More: iOS SwiftUI Apple Maps: Show User Location and Prevent Map Annotations from Rotating with the Map