Skip to content
Logo Theodo

Our recent articles

Mastering API Versioning: Strategies for Seamless Frontend-Backend Communication in Mobile Apps

Abdelmoujib Megzari14 min read


Effective API versioning is essential for maintaining seamless communication between the frontend and backend. This article explains why API versioning is important and analyses various versioning strategies, offering practical insights for backend and mobile app developers. My goal is to…

Continue reading →

Code Quality Tools: Finding the Perfect Fit for Your Project

Ivan Popkov6 min read

Insightful code analysis

This article explores various code quality analyzers and recommends the best tools for different project contexts, from rapidly growing new projects to large, established codebases with numerous collaborators. Static code analysis is a set of techniques of analyzing the code against…

Continue reading →

Clash of Java Templates: A Story of Sizing

Lucas Panier6 min read

Thymeleaf icon

In this article, I will compare different Java template engines. Indeed, during one of my projects, I found myself needing to send a PDF as an email attachment. The challenge was to generate the PDF on the backend. In our…

Continue reading →

React Strict DOM: The Future of Universal Apps with React Native

Mo Khazali10 min read

A React Logo with several devices in the background

A couple of weeks, Meta announced the release of react-strict-dom. I can't stress just how a big a deal this is. Fundamentally, this will change the way we use React Native (and React on web, for that matter). It provides…

Continue reading →

Starting With Hexagonal Architecture

Hippolyte Morillon8 min read


How to start with hexagonal architecture ? The Hexagonal architecture follows the principles of Domain Driven Design (DDD), aimed at crafting a backend system that is easily editable, flexible and testable. If you are unfamiliar with DDD, there is an article…

Continue reading →

What are Observables? A 3-step guide to understanding them

Mathuti Sivamanogaran6 min read

An alien and a human coding an app

Observables are one of the things I struggled most with when I first started coding in Angular. With the library RxJS, they are used for managing asynchronous operations, handling events, managing states, and creating dynamic user interfaces. This article will…

Continue reading →

Mastering File Upload Security: DoS Attacks and Antivirus

Marek Elmayan12 min read

Laptop with a malicious file uploading on a server represented by a cloud with a lock

TL;DR:Mitigate Denial of Service (DoS) threats by imposing restrictions on both the size of files and the quantity of uploads permitted on your server. Implement antivirus scanning for files that users download, ensuring protection against malware infections.File Upload vulnerabilities and security…

Continue reading →

The Unfortunate Demise of App Center - An Obituary

Mo Khazali8 min read

An App Center logo on a gravestone.

Today is a sad day for the React Native ecosystem. Microsoft very quietly announced that App Center is being "retired" in just over a year's time (at the end of March 2025). Over the years of building React Native apps,

Continue reading →

Three Hacks to Level Up Your Maestro Testing

Claire Squires13 min read

Two Christmas elves in a chemistry lab doing experiments

Introduction Our team at Theodo UK recently had the delightful challenge of building a universal app - an app that runs on multiple operating systems from a single codebase. This project presented many interesting technical problems, including the task of automating…

Continue reading →

Dimensionality reduction for exploration and curation of datasets

Stepan Lebedev13 min read

One million integers embedded into 2D space with UMAP

The availability of AI models for everyday users skyrocketed last year, leading to a surge in Artificial Intelligence's popularity. However, despite this advancement, companies still grapple with the challenge of collecting accurate data for AI implementation. Today, the significance of well-curated data…

Continue reading →
Load Next Posts