
Welcome there !
I am Julien Suchiz
Kotlin & Compose developer
Location
Bordeaux, France
Phone
+33 6 33 48 16 27
julien.hongsavanh@gmail.com
~ whoami |
Human
My name is Julien Hongsavanh, and I am 30 years old.
I have been passionate about computers from a young age. Like many, my journey began with video games, which sparked my curiosity. By the age of 13, I was eager to understand how video games were made.
I taught myself to program my first game in C by following online tutorials. From that moment, I was certain that I would pursue a career in computer science.
Developer
With an academic background in computer vision and image processing, my career naturally shifted to Android development, where I’ve gained solid expertise in Kotlin through mobile app projects.
For over 3 years now, I’ve been working extensively with Kotlin and have developed a strong passion for Kotlin and Compose Multiplatform.
Freelancer
I chose freelancing because I love working on diverse projects across different industries. It allows me to continuously challenge myself, learn new technologies, and meet people from all over the world. I can’t see myself working on a single project, nor, a single technology.
Also, freelancing missions are mostly full remote, this is perfectly adapted to the way I want to live.
Gamer
Gaming has always been a core part of my life and will always be. Between freelance missions, I work on my personal project, Suchiz Games, with the dream of turning it into a full-time endeavor.
Games sparked my love for coding, and one day, I hope they’ll also be what defines my career.
I am a human developer freelancer gamer |
~ ./experiences |

While being one of the first transport society in the world, RATP wanted to share their knowledge and expertise. That is why RATP Smart Systems offers an adapted ticketing solution to ease exchanges between the local transport company and their customers. This is how RATP has expanded internationally.

Deepmove is a start-up that develops deep learning solutions applied to the analysis of the human body. They act, for the moment, essentially in the correction of the posture for the sporting field and the rehabilitation.

While being one of the first transport society in the world, RATP wanted to share their knowledge and expertise. That is why RATP Smart Systems offers an adapted ticketing solution to ease exchanges between the local transport company and their customers. This is how RATP has expanded internationally.

OpenMotion is a small innovative company aiming to add some artificial intelligence in their services. Nowadays, cleaners are subjected to some tedious process such as taking a picture before and after they cleaned. OpenMotion worked to ease these process by proposing an automated solution.

With a view to accelerating the production chain and developing assistance to the operator in charge of quality control, Safran's Innovation department Engineering Services (SES) wanted to introduce deep learning into this task. In addition, this allowed SES to have its first connection with deep learning technology.

With the prominent arrival of autonomous cars or, more generally, self-driving vehicles, a lot of researches have been made around real-time 3D environement understanding. This would give vehicles the necessary informations they need to decide an action. The challenge is that it has to be accurate and fast enough to be able to react in time in case of crisis.

~ ./Android developer |
Ticketing application
Ref: David Musso
1 - Brackground and objectives
The automatic ticket vending machines in Paris metro stations are old and limited in number. During rush hours or major events, the queues become long. To address this issue, the RATP has introduced portable vending machines on PAX A920 Pro (Android 8.0), operated by an agent.
2 - Achievements and activities
Worked on many features such as Barcode/QrCode scanner, Read/Write card, printing and many others. I used:
- KTor
- Jetpack Compose
- Kotlin
3 - Deliverables and results
Application used for the Rugby World Cup 2023 and for the Paris Olympic Games 2024, and still currently in use in Paris.

~ ./Image processing |
Ref: Georges Ryssen
1 - Brackground and objectives
As a fitness app user, recording oneself doing the exercises from different angles is common, such as from the ground or from a table. However, to enable the posture analysis algorithm to evaluate the movements accurately, a fixed reference view angle is needed. Therefore, the app uses real-time transposition to convert the recorded views to the reference view, ensuring a consistent posture analysis for the user.
2 - Achievements and activities
Real-time solution using OpenCV homography in Python. Homography isn't something expensive for computers now, it can be computed frame to frame in real time.
3 - Deliverables and results
A functional script usable as a function in other scripts or usable directly in the terminal with its documentation.
Red is the distorsed view, green is the warped view, blue is the reference view
~ ./Android developer |
Ref: Georges Ryssen
1 - Brackground and objectives
The goal is to create a library to be integrated in order to offer existing Android fitness applications to benefit from the posture analysis and repetition counting solutions developed by Deepmove.
2 - Achievements and activities
I worked alone on the library, from scratch. I also made the test app which is integrating the SDK.
- Kotlin
- Retrofit
- MLKit (BlazePose)
- AWS Amplify
- Frame by frame encoding
- Maven publication from Gradle
3 - Deliverables and results
I wrapped all deepmove API into the android library, with its documentation. I also delivered a test app which is using the library.

~ ./Android developer |
Ticketing library
1 - Brackground and objectives
RATP Smart Systems, in its desire to be part of the Mobility as a Service, wanted to create a ticketing library on Android and iOS. Thus, actors can integrate the ticketing part implemented by RSS to manage the purchase and sale of transport tickets.
2 - Achievements and activities
I initiated the libray and worked on it for a month.
I had to handle:
- GraphQL (mock) server in NodeJs
- GraphQL with Apollo
- Kotlin
- Gitlab CI/CD:
- Create and use a Docker environnement
- Automatised tests
- Setup Jacoco coverage report
- Setup SonarQube (quality gate, profile)
- Deployment with Fastlane
- Documentation with Dokka
- Create and use a Docker environnement
- Automatised tests
- Setup Jacoco coverage report
- Setup SonarQube (quality gate, profile)
- Deployment with Fastlane
- Documentation with Dokka
3 - Deliverables and results
No result to show as the project was not yet mature and had to be put on hold. It is also the reason why I only worked 1 month on it.
Ticket validation and control application
Ref: Vincent Bialoux
1 - Brackground and objectives
To attract other customers than the heavy ticketing solution, this project is a light ticketing solution. To offer companies a solution to validate and control tickets from a text, on entry-level android devices.
2 - Achievements and activities
I worked alone on the app, from scratch. I've created a whole graphic identity based on the group's graphic charter. It was a great UI/UX challenge.
I used:
- Crashlytics (Firebase)
- Kotlin
- Retrofit
- MLKit (QRCode, OCR)
- Gitlab CI/CD:
- Create and use a Docker environnement
- Automatised tests
- Setup Jacoco coverage report
- Setup SonarQube (quality gate, profile)
- Deployment with Fastlane
- Documentation with Dokka
- Create and use a Docker environnement
- Automatised tests
- Setup Jacoco coverage report
- Setup SonarQube (quality gate, profile)
- Deployment with Fastlane
- Documentation with Dokka
3 - Deliverables and results
A completed and functional application with a 70% coverage and an automated deployment to the Playstore. As far as I now, it was used once for the wrestling championship in Dakar.
~ ./Embedded developer |
C++ wrapping and support
1 - Brackground and objectives
In order to develop a solution for all types of equipment. The embedded equipment team wanted to create a library to be integrated in android.
2 - Achievements and activities
When I arrived, the solution was already partially wrapped in Java for Android. I just continued the work by wrapping more and more features from the embedded solution to the android library but started from a new brand libray to restart with a clean base and with tests. I was also a support between the Android and the Embedded team.
I used:
- Java (Android)
- JUnit
- Maven package
- C++
- Swig
3 - Deliverables and results
I only worked 1 month, so I obviously didn't finish the wrapping but I think I founded a good basis for the future library.
Network Manager
1 - Brackground and objectives
Replace the current Network module using unix command lines with the unix Network Manager and DBus to establish the internet connection and the routing of the device.
2 - Achievements and activities
I worked alone on the module and from scratch. First part was learning how Network Manager was working, then to create the module inside the app.
I used:
- C++
- Qt
- QDBus
3 - Deliverables and results
A module successfully integrated with its documention on how to use it. It supports GSM connections,(ModemManager), wifi connections, ethernet connections and VPN (OpenVPN) connections.
Software
1 - Brackground and objectives
Develop a software for the ITS (Intelligent Transport Systems) for trams.
2 - Achievements and activities
I worked as part of a team to upgrade the Navocap embedded product, implementing new features and fixing bugs. The technologies I used included:
- C++
- Qt
- Meson

~ ./Computer vision |
Ref: Gaël Cobert
Consultant
As a Computer Vision Consultant at OpenMotion, I was responsible for evaluating the feasibility of a specific computer vision project. I began by discussing the requirements and constraints with the project team to determine the best approach.
Next, I conducted extensive research on state-of-the-art computer vision technologies and analyzed how they could be applied to the project. Based on my research, I identified the most appropriate solution and created a detailed report explaining why it was the best fit for the project. The report was approximately 30 pages long and included a thorough analysis and recommendations.
Interns mentor
At OpenMotion, I had the opportunity to mentor and guide two interns who were exploring AI solutions and developing proof of concepts. As a mentor, I was responsible for providing support and guidance to ensure their success. Over the course of six months, I mentored them closely, providing regular feedback and guidance as needed. The first project was focused on machine learning, with the goal of using signals from a smart watch’s accelerometer and gyroscope to detect falls. The second project was centered around computer vision, with the goal of detecting and reading license plates using YOLOv4 and Tesseract.
Engineer
1 - Brackground and objectives
OpenMotion is a small but thriving and innovative company aiming to add some artificial intelligence in their services. Nowadays, cleaners are subjected to some tedious process. OpenMotion already worked to ease these process by proposing an automated solution. Cleaners don't waste their time bothering with process aymore and companies still get their reports. However, there is still some process they want to improve to be fully automated. One of them is taking a picture before and after they emptied the bin. To get rid of this process, OpenMotion proposed to use smartglasses that would detect and take picture of bins for them.
2 - Achievements and activities
First solution was to embbed a convolutional neural network on an Android phone. I worked alone on the computer vision part and shared the integration in Android. However, I did the AI class alone.
- EfficientDet Lite
- SSD Mobilenet v2 FPN Lite
- Data collection and labelisation
- Train models
- TFLite converter script
- Tool to evaluate TFLite models (precision, recall)
- Documentation
Second solution was to compute on a server and develop a client on Android. I did not train the model but I've set up the client to send images and receive them and compute them on server.
- YoloV4
- RTMP/RTSP remote computing
- Documentation
3 - Deliverables and results
Sucessfully integrated on Android:
- 85% Precision
- 100% Recall
- Real-time: +15fps on a Honor View10
Image source can come from the camera or from an external device, such as smartglasses.

~ ./Image processing |
Ref: Philippe Civeyrac
1 - Brackground and objectives
Also, SES has old wiring plans in paper format. With a view to migrating to the digital so that the plans can be saved and modelled on dedicated software. A technician is in charge of "copying" these electrical diagrams. Complex plans take up to a week to be copied, and it is estimated that there is a data entry error on the part of the technician at 5%. The aim of the innovation department is to assist the technician so that this is faster and safer. For this, it must be possible to detect the components in the diagrams, to know the relationships between components, to detect and recognise texts etc..
2 - Achievements and activities
The application is also in Python, but uses more "classical" methods of image processing (OpenCV, Scikit-Image). We were 2 on the project:
- Pre-processing of the images (noise reduction, detection of the area of interest)
- Detect and recognise text (OCR, PyTesseract)
- Establish relationships between components
- Measures detection
3 - Deliverables and results
Proof of concept is accepted and a potential client for the digital migration of paper plans:
- Detection of measures still too random (deep learning)
- The text is detected at 90-95% but is recognised at 75-85% depending on the plans.
- If the component detection is correct, the establishment of the relationships between component is correct as well. The area of interest is sometimes missed (none of the components statistics have been made)




~ ./Computer vision |
Ref: Romain Mousson
1 - Brackground and objectives
With a view to accelerating the production chain and developing assistance to the operator in charge of quality control, Safran's Innovation department Engineering Services (SES) wanted to introduce deep learning into this task. In addition, this allowed SES to have its first connection with deep learning technology. To do this, the neural network needed to be able to detect, recognise and segment surface defects (scratches, dents, etc...) on on-board cameras.
2 - Achievements and activities
The network architecture and programming language have been imposed: Mask-RCNN and Python.
But during the development of the application, another network attracted the attention for real-time detection: YOLACT++. I worked alone on the project.
Taking in hand the tools :
- Mask-RCNN (Keras)
- YOLACT++ (PyTorch)
- Identification of customer needs
- Data collections
- Data processing and labelling
- Development of a model evaluation tool (mAP, Precision, Recall, Overlap)
- Model training Deployment of a server/client application for Android (on-board camera)
- Documentation redaction and project presentation
3 - Deliverables and results
Proof of concept is accepted for 4 different types of defect and a client has been found to assist in the control of quality.
- Mask-RCNN :
- 85% accuracy
- 75% recall
- Deployment of a client on Android (7s in 4g network and a GTX graphics card 1080 8GB for the complete process: Sending of the image to the server, processing of the image and the image by the neural network, returns the result to be visualized on smartphone)
- Yolact++ :
- 67% of mAP but not the initial project, I had 1 month to take in hand the tool, for android deployment and training
- Deployment on live android (live streaming) with WiFi and a GTX 1080 8GB: can have up to 5s of latency and contains some lag (packet loss).
- 85% accuracy
- 75% recall
- Deployment of a client on Android (7s in 4g network and a GTX graphics card 1080 8GB for the complete process: Sending of the image to the server, processing of the image and the image by the neural network, returns the result to be visualized on smartphone)
- 67% of mAP but not the initial project, I had 1 month to take in hand the tool, for android deployment and training
- Deployment on live android (live streaming) with WiFi and a GTX 1080 8GB: can have up to 5s of latency and contains some lag (packet loss).











~ ./Computer vision |
Ref: Benedek Csaba
Static point clouds processing
1 - Brackground and objectives
The goal of this part was to use C++ and Point Cloud Library (PCL) on bus stations scenes generated by a LiDAR, to segment pedestrians. This first part was to be familiar with PCL. More especially, learn about the library limits and possibilities before proceed to a real-time application.
2 - Achievements and activities
I made everything from scratch, to begin with the installation of the environment to the pipeline to segment pedestrians. In this example I used PCL functions to "clean" the point clouds in order to leave only pedestrians. Then I detect each different pedestrian using a cloud density feature.
3 - Deliverables and results
I haven't made proper metrics as the goal was to learn how to use PCL. Globally, the pipeline worked well (visually) with some difficulties when people were sat on shelters or when they were too close from each other.
Real-time point clouds processing
1 - Brackground and objectives
With the prominent arrival of autonomous cars or, more generally, self-driving vehicles, a lot of researches have been made around real-time 3D environement understanding. This would give vehicles the necessary informations they need to decide an action. The challenge is that it has to be accurate and fast enough to be able to react in time in case of crisis.
2 - Achievements and activities
The application was made in C++ with PCL. I was in charge of finding a solution for pedestrians and cars detection and recognition from a LiDAR's continuous stream. To do so, I reproduced a state-of-the-art article pipeline about 3D real-time detection and add a little geometric based detection to enhance the classification. The article isn't free of charge so I can't share the code or the pipeline. The detection is made by "traditional" image processing while recognition is made by a custom convolutional neural networks (CNN) with few layers to be ran in real-time. I created and trained this custom CNN with Keras to match the article but isn't the proper CNN used in the article.
3 - Deliverables and results
Finally, my application couldn't ran in real-time as my calculation power were lower than the one in the article. Even thought, it didn't run "fluently", it had an accuracy around 70% with the combinaison of the CNN and the geometric based solution. Here are some images extracted from the pipeline with the semantic segmentation, instance detection, and finally, the final result of my application.



~ ./projects |
Kotlin
C#
C
C++
WordPress
Python
Java
HTML/CSS/JS








The last sushi 2!
Compose Multiplatform, Datastore, Koin, KTor
Total remake of the C# Unity version.
Animaspsrite
Compose Multiplatform
Sprite animation library for Android, iOS and Desktop.
Babyxxi
Compose Multiplatform, Datastore, Koin, KTor Websocket
Matchmaking app for IxxitechSide babyfoot tournaments. Available on Android, iOS, and Desktop.
Agora Quiz
JetpackCompose, DaggerHilt
Small quiz game on Android. Can't share the app, nor the code as it isn't public.
Babyxxi
Compose Multiplatform, Datastore, Koin, KTor Websocket
Matchmaking app for IxxitechSide babyfoot tournaments. Available on Android, iOS, and Desktop.
Agora Quiz
JetpackCompose, DaggerHilt
Small quiz game on Android. Can't share the app, nor the code as it isn't public.
Suchiz Corp
Elementor, CSS, JS
This version and previous version of this website.
Myanimal
Elementor, Woo Commerce, Stripe, PayPal, CSS, JS
Online pet shop. Currently in maintenance.
Suchiz Games
Elementor, Google Analytics
Migration of my old HTML/CSS website. I am listing all my official games there.
Cafetieres Sans Frontieres
Elementor, Stripe, Give
Troll and alternative solution of a kitty website to avoid fees. Only used once with friends.
Fiber detection
OpenCV
Detection of fibers on microscope images using Hough Lines.
Can't share the result, nor the code.
Era-Connect4
Pygame, Socket, Threading
Implementation of the game Connect4. Made for the IA course, using min/max algorithm for solo player but I also added an online mode for fun :).
Era-Connect4
Pygame, Socket, Threading
Implementation of the game Connect4. Made for the IA course, using min/max algorithm for solo player but I also added an online mode for fun :).
Krita
Qt 3D
Small contribution to Krita. Upgrade of the multibrush tool for vertical and horizontal translation.
Suchiz Rendering Engine
Qt, OpenGL
Small 3D Engine. You have the possibility to custom your own scenes and animations.
B-Spline Drawer
Qt, Python, Matplotlib
Small quiz game on Android. Can't share the app, nor the code as it isn't public.
Suchiz Rendering Engine
Qt, OpenGL
Small 3D Engine. You have the possibility to custom your own scenes and animations.
B-Spline Drawer
Qt, Python, Matplotlib
Small quiz game on Android. Can't share the app, nor the code as it isn't public.
Babyxxi Server
NodeJS
Websocket server for Babyxxi hosted on a Raspberry PI.
Suchiz Games
HTML, CSS
Previous version of the Suchiz Games website. Unfortunatly, the domain name is overriden by the actual one.
Myanimal
HTML, CSS
Before becoming an e-commerce website. This was only a showcase website. Not avalaible anymore.
Suchiz Corp OG!
HTML, CSS
Made previous versions of this website, but it is overriden as I use the same domain name. However, here is my first Suchiz Corp version! (I was young, don't be too harsh).
Animal Protect
HTML, CSS, JS
Showcase website for Animal Protect company. Full free solution, using Google Sheets API as a backend and hosted on GitHub pages.
Suchiz Corp OG!
HTML, CSS
Made previous versions of this website, but it is overriden as I use the same domain name. However, here is my first Suchiz Corp version! (I was young, don't be too harsh).
Animal Protect
HTML, CSS, JS
Showcase website for Animal Protect company. Full free solution, using Google Sheets API as a backend and hosted on GitHub pages.
The last sushi !
Unity 2D
Board game for Android and iOS. Using many libraries such as Localization, Google Play Service, In-app purchase, Google AdMob...
Big Bang 2.0
Unity 2D
Android adaptation of our game made in the Ottawa Game Jam using Unity as a personal project.
KreedZ Mania
Unity 3D
Personal game project inspired by the famous "KZ" mod in Counter Strike.
KreedZ Mania
Unity 3D
Personal game project inspired by the famous "KZ" mod in Counter Strike.
Hex of Thrones
Android (XML)
As I liked the first Hex game in C. I wanted to adapt it on Android.
Karaoke Box
Android (XML)
Development of a karaoke software for Android. Manage songs, queue and orders (snacks and drinks) using a tablet.
NeoCampus Chat
Swing, JBDC, SQL2D
Development of a chatbox. Message are stored in a database then broacast to every user with acknowlegdement.
NeoCampus Chat
Swing, JBDC, SQL2D
Development of a chatbox. Message are stored in a database then broacast to every user with acknowlegdement.
One project, is still one project

~ ./interests |
I am dedicated creative curious open minded |
I’ve always been passionate about technology, creativity, and challenges. My competitive spirit, shaped by playing sports since childhood, now drives my participation in hackathons. While I’m independent and have taken the leap into freelancing, I’m also a team player and thrive in collaborative environments. My love for creating stems from my upbringing — growing up with musician parents inspired me to compose and record my own songs and explore design through tools like Photoshop. I’ve always enjoyed crafting things, which is why programming resonates with me. I even develop games in my free time, which led me to create Suchiz Games ! 😊
~ ./interests |



I am a traveler
I am a passionate
~ ./education |

MSc 2 Image Analysis
Paul Sabatier University
Real time rendering (C++)
Image processing (MATLAB)
Signal processing (MATLAB)
Animation (C++)
Medical image processing
Satellite image processing (Orfeo ToolBox)
Computer vision (MATLAB)
Agile and DevOps initiation (Jenkins, SonarQube)

MSc 1 Computer Sciences
Pázmány Péter Catholic University
Data Mining and Machine learning (Weka)
Basics of Image processing (MATLAB)
Biometrics for identification (MATLAB)
Introduction to AI (JavaScript)
Biomedical Signal Processing (MATLAB)
Advanced Java (JavaEE)
Android programming (Java/Kotlin)
Parallel programming (C++)

BSc Computer Sciences
Paul Sabatier University
Shell programming
Bioinformatics
Basic signal processing (MATLAB)
Introduction to AI (Ocaml)
Introduction to Computer Graphics and Image Processing
Functional programming
Oriented Object Programming
Data structure
Software engineering (V Cycle, tests)