Projects


[2020] ANEP Monitoring — ANEP

Monitoring of the devices fleet. Development of the mobile app that provides real-time monitoring of the devices (elevators, security doors) fleet. The details of each device can be displayed and it can be called (using ANEP Mobile) for further configuration.
Flutter, Dart, Google Maps (with custom clustering), BLoC pattern, TDD

[2019 / 2020] ANEP Mobile — ANEP

Elevator alarm configuration tool. Development of a server app that calls elevator alarm boxes to configure them. I also developed the Android application, that triggers jobs on the server to interact with the alarm boxes.
Android, Kotlin, MVVM, Python, Django, TDD, SIP (Asterisk)

[2019] Solar Mobile — Atexia Software

Mobile app for a file management platform. Complete rewrite of a mobile application to navigate through directories, download files and display pictures on the Solar System. The app is compatible with iOS and Android thanks to the Flutter technology.
Flutter, Dart

[2017 / 2018] Borgward BX7 — Parrot

Car infotainment system based on Android. Development of specific apps (Tuner, Multimedia). Architecture of the communication service with the car’s contructor backend. OS tweaks to enhance the integration inside the vehicle.
Android, Java, C++, Bash

[2018] DCP / IDConfig — JCDecaux

Abribus management system. Django backend to manage more than 10 000 city furniture configurations. Development of a client Android Application to let the maintenance operator retrieve furniture data. Identification is done through a configurable Beacon, NFC Tag or QRCode.
Python, Django, Android, Kotlin

[2017] AutoTune — Arkamys

Low latency audio acquisition software. Development of a multi-channel audio acquisition software using the low latency library PortAudio. The captured audio could then be visualized on complex graphs, handling more than 96 000 dots.
C++, Qt, PortAudio

[2017] PoudlardExpress — Bilberry

Weeding system management on a train. Multi-threaded, real-time weeding system mounted on a train. Aggregation of various inputs to trigger nozzles opening on an automatic train:

  • Exchange of CAN messages with the Train software
  • Processing of multiple inputs : weather station, GPS location, Camera’s data, …
  • Real-time display of the system state using the D-Bus protocol
  • 300 ms window to analyze and trigger or not the nozzles
    C++, Qt, CAN, ZeroMQ, D-BUS

[2016] Scan3D — Arteractive

Automatic morphology measurement software. With the input data of a Kinect Explorer, the software extracted body morphology data from analyzed slices using custom OpenGL code and OpenCV filtering.
C++, Qt, OpenCV, OpenGL, Kinect

[2016 / 2017] Atelier 27 — Eram & Unistudio

3D printed shoe heel with a tablet configurator. A unique way of customizing a shoe heel: visualization and creation of a unique heel before printing it in live with a 3D printer.

The project was presented during the exhibition Equip’Mag in Paris mid-september 2016 and the VAD Conext in Lille mid-october 2016. Several medias covered the announce like Les Echos, Le Monde, M6, BFM TV, Europe 1, Francer Inter, France Bleue and many more.

WebGL, JavaScript, Python, Django, Android, 3D printing

[2013 - 2016] Livetouch — JCDecaux

Lead dev on an Android OS fork for outdoor 55" furnitures. I migrated the Android framework from the version 4.0.4 to the 4.3 (C++ and Java middleware). The Android behavior was deeply modified to match a public outdoor usage (custom app lifecycle, remote-control modules). My work also included:

  • Integration of peripherals : Barcode scanner, NFC, VoIP handset
  • Global project Architecture with Python scripting, Git workflow
  • Maintenance and release of a custom SDK for third-party developers
  • Continuous Build system with Jenkins jobs

Android, Java, C++, Git, Bash, Python

[2013] NeuronalMind42 — Mind42

Developer of a client application to manage MindMaps. I was a user of the mind42.com website and wanted to access and edit mindmaps from my Android phone. After discussing with the owner of mind42, we agreed on a developer API and I developed and published with a friend the NeuronalMind42 Android application. It features:

  • Custom drawing of the mindmaps (pictures, font, colors, icons)
  • Full MindMaps access and edition
  • Offline access of MindMaps
  • Collaborative access to a MindMap with live updates

Android, Java

[2013] Mobile apps for Leclerc / Crédit Agricole — Ezeeworld

Heavy work on the mobile apps of Leclerc & Crédit Agricole. I revamped the Android Leclerc app Qui est le moins cher to update it with the latest UI guidelines. I also squashed, many, many bugs.
Java, Android, Objective-C, iOS, git

[2012 - 2013] Solar — Atexia Software

Lead dev of a Dropbox like product: Solar. I was involved in the development of a full backend that managed user files and virtual objects. To name a few features:

  • Automatic PDF conversion
  • Automatic generation of previews (full sized picture and PDF)
  • Multiple file upload
  • Zip download of directories
  • User statistics with graphs of the system usage

The system was automatically deployed with custom scripts Bash scripts and Ansible rules. I also developed a full-featured Android application with tablet support, push messaging, and maintained the iOS app.

C++, Java, Android, Bash, Python, Django, Ansible, Objective-C

[2010 - 2012] DECT Android Phone — Sagemcom

Android OS fork maintenance to build a DECT Android Tablet Phone. The Android RIL with the GSM implementation was replaced by the DECT protocol. Heavy modifications of the Phone and Contact app to support a split view, custom UI. Implementation and integration of the accelerometer driver in the Linux Kernel.
C++, Java, Android Framework, Linux Kernel, Bash, Python, git

[2007 - 2010] IP Camera Manager — Wasatis

IP Camera Management system. Remote control of IP Camera for security purposes. I developed a custom motion detector using C++ and OpenCV to trigger alerts and recording on a backend. I was heavily involved in the backend development in PHP, which stored thousands of records and let the user:

  • Schedule periodic or one-time recordings
  • Navigate through recording, frame by frame or using a video player
  • Access remotely to the IP Cameras with a live view and perform actions (Pan, Tilt, Zoom)
    C++, OpenCV, Java, Linux, Embedded software, Perl, PHP 5, SQL