Highly qualified software developer with over 20 years of professional experience. I began coding 27 years ago at the age of 16, creating chess games, FTP/HTTP/mail clients, and 3D animations that emulated the rain effect from The Matrix—earning me several online awards. In those early years and throughout the beginning of my career, I also developed various websites and promotional games in HTML, Flash, and other content management systems using PHP/MySQL.
Today, I specialize in building interactive applications, using whatever technologies are necessary to achieve the desired outcome (HTML, JavaScript, TypeScript, CSS, Vue, React, C#, Unity, Haxe, ActionScript, Canvas, OpenGL). I'm equally skilled in developing both microservices and monolithic backend systems in a variety of languages (C#, Node JavaScript, Deno TypeScript, PHP, SQL).
I adapt quickly to new technologies, whether they involve new languages, frameworks, or entire systems. I excel at understanding new concepts, solving problems, identifying business and client needs, and maintaining a clear vision of how things work.
My ability to see the big picture—both from a business and technical perspective—allows me to challenge ideas in a practical and constructive manner, with a strong understanding of the needs and capabilities of the different actors involved.
I'm passionate about building products, whether it’s enabling customers to send digital certificates, create templates, draw on canvases, design interactive slideshows, optimize recruitment workflows with AI, or animate elements for highly interactive apps and video games. I approach system building and improvement with a clear and structured mindset, always eager to learn, driven by curiosity and creativity.
I started playing around with ChatGPT and Midjourney around a year ago. I quickly became fascinated by the possibilities offered by those AIs.
They both evolved in quite interesting ways but still remain limited in various aspects.
I started trying different LLMs to understand better the way they work and how they can be used.
I started coding tools that would allow me to do certain tasks quicker.
I learned to use LlamaIndex, a Data Framework for LLM Applications, and build a document parser (leveraging data segmentation and Embeddings) that I could use to quickly summarize and search trough them (using Deno for the back-end and Vue3 for the front)
I am currently working on different personal projects that help me dig deeper into this fascinating world
SmartCertificate is a platform that allows trusted people to send digital certificates that can be verified.
They needed a new front-end developer to revamp their whole SmartCertificate platform with a new, sexier and more ergonomic interface. The goal was to broaden their target audience.
They also needed someone with experience in back-end technologies, someone who understands clients, budget and business priorities. Basically, someone who has the capability to manage an entire project.
I quickly got involved in the whole business and became what we can call now a Product Owner, on top of my day to day developer job.
As a developer, I had the task to cut the monolithic c# platform that was SmartCertificate back then into smaller pieces that could be managed independently from each other. I first elaborated the ideal structure that I envisioned but very soon had to adapt to the very rigid one that the project had already been built on. Because of budget and time constraints, but also because of the very nature of what this platform brings and ensures to its clients: privacy and security.
A totally independent API was developed by our back-end developer under my supervision and I developed the front-end application from the ground up using VueJs 2 and Typescript whenever possible.
After 2 brand new versions of the platform, we consider the app to be in a very mature phase. Not much needs to be done anymore. It all works much better than before and needs less and less maintenance. A complete onboarding experience has been added to the tool, providing new clients with all the tools, tutorials and help they need to send certified documents to their recipients in just a few minutes.
The app features a full template editor, written entirely in vue 2. Users can drag and drop texts and images as well as use custom variables in order to make their content dynamic.
Users can import their own data using Excel and CSV files. A tool allows them to map their custom data to custom variables present in their own templates.
After a good decade exploring Flash, ActionScript 3 and Stage3D to their limits, it was finally time to accept its fate and plunge into the world of HTML, CSS and Javascript.
Development of H, a mobile friendly website for Longines using built-in tools (in Haxe) for animations and layout (on top of CSS).
Development of the mobile friendly website for Agilytic. Using built-in tools (in Haxe) for animations and layout.
Animation of the User Interface of a banking mobile app for a bank in Luxembourg using Framer.
Development of numerous other smaller web projects.
ND2Dx is a very fast and optimized 2D GPU Accelerated game enging using Stage3D written in ActionScript 3. It leverages the GPU (and its shaders) to accelerate the rendering of the graphics and uses plenty of optimization techniques to get the best out of it.
It powers the WorldGameMaker editor.
It is extremely fast, way faster than Starling (Adobe)
It features a full blown Display List hierarchy for 2D elements using a double linked list approach to achieve very fast traversal and modification of the list.
Tinting, blendmodes, color transforms, pivot points, scale and size of 2D sprites
Animated sprites
Scenes
2D Camera
Very optimized batching techniques to render as many objects on screen using optimized shader code
Full mouse support with very fast event system using Signals
Bitmap Fonts
Fully integrated component system that has almost zero cost
Full material system
A 2.5 D rendering feature
A complete animation system that is extremelly versatile and fast
A highly optimized code using the various ways the ActionScript3 VM was functionning to get the most out of it.
WorldGameMaker is a tool that I first created to allow our team at reed.be to build levels for a game we were developing for Sony Ericsson. The game was SoundQuest. I had the feeling the flash editor was not gonna be enough to do what we needed to do. On top of that, we wanted to use the new Stage3D technology (basically having access to the graphic card shaders). I needed an IDE that would allow me to create all sorts of animated things as well as having a basic physics system. First I tried building my own. It worked for some very small projects but I eventually switched to Nape, a professional and open source physics engine.
Development of an entire IDE that leverages the functionnality and power of my Stage3D + ActionScript 3 engine: ND2Dx
Component System
Dynamic Loading of Action Script Code into the IDE
Dynamic properties editor
Customizable
Run and Debug game inside IDE
Publish game to multiple platforms using AIR
Allows the creation of mobile and desktop Apps & Games
Development of the interactive video using Flash Stage3D and ActionScript3.
The core idea is the same as for the Prototype. Overlay personalized user images on top of a trailer. This one was a bit trickier though as I needed to use complex masking techniques that needed to run at 30 fps in high quality mode.
Development of the promotional website for a blockbuster video game called Prototype, by Activision.
The idea was to allow people to connect to the website using their facebook account. The facebook connect feature had just made its appearance. We then integrated people's data (information & pictures) right into the video game trailer. This was probably the first time ever such a thing was being done. The website got international attention. Big brands such as Microsoft US contacted us.
Flash ActionScript 3
Whole website including animations, transitions, content and special effects