Skip to content
Logo Theodo

Our recent articles


Load Previous Posts

Mastering File Upload Security: Understanding File Types

Marek Elmayan10 min read

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

In today's digital landscape, file exchange has become an integral part of our online activities, from sharing work documents to uploading pictures on social media. However, this convenience comes with inherent risks. File upload functions, seemingly innocuous, can serve as…

Continue reading →

Calculating software emissions: learnings and limitations

Guillaume Barra5 min read

React Native

Context Earlier this year, we developed the sustainability calculator versions 1 and 2 at Theodo UK (version 2 can be downloaded here). The aim of the first version was to have a proof of concept that would allow us to calculate…

Continue reading →

Nightly End-to-End & Performance Tests with Flashlight

Mo Khazali7 min read

A Flashlight logo with a backdrop of the night.

Several years ago, I was working on a web project that had quite a number of critical web flows that needed to be regularly tested to make sure that there weren't any regressions from functionality or performance across the app.

Continue reading →

How to Simply Generate a PDF From HTML in Symfony With WeasyPrint

Damien Clauzon8 min read

WeasyPrint HTML to PDF

A thousand PDF generation solutions, but which one to choose? Recently, I was faced with a problem that many developers fear and avoid: generating a PDF document. There are lots of libraries handling this, the problem is knowing which one best fits…

Continue reading →

How to migrate from Api Platform v2 to v3?

Grégoire AbachinSébastien Touzé9 min read

upgrade your api platform version to version 3

We updated several projects from Api Platform v2 to v3 and felt that some aspects of the migration were not fully covered in the documentation. This article shares our feedback on the migration process and helps you to migrate your application to the latest version of Api Platform.

Continue reading →

Whisper to your keyboard: Setting up a speech-to-text button

Jérémie Chauvel4 min read

keyboard with a speech to text button

Long story short: I broke my arm while riding my bike and I can't type. Quite the problem as typing is a key part of my daily life as a software engineer. So I decided to add a speech to text button to my keyboard. Here's how I did it...

Continue reading →

What's the point of StyleSheets in React Native?

Mo Khazali5 min read

A code snippet with both StyleSheets and a regular object.

Over the years, I've heard whispers of the mystic powers of StyleSheet.create, and how not using StyleSheet would negatively affect performance. The other day, curiosity got the better of me, and I went down a rabbit-hole of looking into…

Continue reading →

How Did I Improve the Performance of my Website using Protobuf?

Anne-Sophie Jourlin8 min read

Protobuf Logo

For my very first project at Theodo, I worked on a website designed for scientists who wanted to track the progress of an experiment. My task involved improving graphs with large amounts of data. However, the data retrieval process turned…

Continue reading →

Feature flags implementation in Nest.js 😻

Edouard Lacourt10 min read

Four toggle and a cat as Nest.js reference

😵 The issue As a web developer, you know that it's important to be able to deploy new features to users quickly and efficiently. But how can you do this without disrupting your development process? Let's imagine that a web project uses…

Continue reading →

Using RCTView & RCTText in React Native for Performance Gains

Mo Khazali6 min read

A React Native logo flying on a rocket.

I recently published an article and thread comparing iOS rendering performance across SwiftUI, React Native, and Flutter. The results showed that SwiftUI (unsurprisingly) performs the best, followed by React Native and Flutter respectively. I got some interesting feedback and suggestions from…

Continue reading →
Load Next Posts