Hello there! I am a Computer Science engineer and part-time researcher, currently a full-stack engineer working on the software to control a robotic arm for percutaneous treatment of cancers at Quantum Surgical in Montpellier, France (2025 – ).
My professional background is in Human-Computer Interaction (HCI) and Software Engineering (SE):
R&D engineer in Paris on developping the software for an embedded digital TV recorder (2012 – 2014)
PhD on architectures and languages for User Interfaces (UI), supervised by Stéphane Huot in the Loki team at Inria Lille (2015 – 2019)
Researcher and teaching assistant in algorithmics, software engineering and Web development at Centrale Lyon (2019 – 2022)
Postdoc researcher on UI for territorial concertations in the SENS and SELMET teams at INRAE and CIRAD in Montpellier (2022 – 2024)
I really enjoy crafting innovations in software, making nice talks to share them, and bringing them all the way to end users. After 10 years of multitasking in public academic research, I have greatly reduced my active involvements to focus for impact with my work. My main achievements so far have been:
edge264, an open-source H.264/AVC video decoder improving speed and code size over the state of the art, to challenge programming practices in the Open Media community [FOSDEM'24, FOSDEM'25] and help further reduce the energy footprint of video playback.
Being very concerned about ecology, I have been a willing member of the Sustainable Development and Societal Responsibility local committee at Centrale Lyon, and have co-chaired the French working group on HCI and ecology. I work hard to explore unconventional paths, most of my spare time going into compulsively crafting code then sharing it with engineering communities.
On a personal note my current hobbies are choir singing 🎶, improv theater 🎭, gymnastics 🤸♂️, and knitting 🧶.
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
Pastofutur (2022 – 2024) Producing an analytical and action framework based on interdisciplinarity, using the concepts of ecosystem services associated with pastoral areas and the concept of multifunctionality of pastoral activity, to strengthen the participation of societies in defining the future of pastoralism.
Interactive collection of metaphors (2022 – 2024) Developing an online interface and visualizations to collect and display a network of metaphors related to the soil during “metaphoring” workshops.
DSCATT: Soil carbon sequestration in farming systems (2022 – 2024) Developing sustainable and productive agricultural systems while increasing soil carbon sequestration, and raising awareness on the role of soil management to mitigate greenhouse gas emissions. I worked on GUIs to run and analyze a multi-agent model simulating agriculture-forest interactions in Senegal.
T. Raffaillac, N. Boukhelifa, E. Crouzat, F. Stark, J.-P. Müller, J. Lasseur. Supporting Interdisciplinary Research with Cards-based Workshops - A Case Study on Participatory Planning for Mountain Pastoralism. Extended Abstracts of the 2024 CHI Conference on Human Factors in Computing Systems, May 2024, art. 531, pp. 1–8. DOIPDFvideo
para.chi.paris'24 Helped with the preparation of an in-person hub for CHI'24 (Hawaï), to offer a local alternative to air travel for participating at CHI.
Paris International Agricultural Show 2024 Presenting at the Cirad booth the software I contributed to collect and display a collection of metaphors related to the soil.
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
Pastofutur (2022 – 2024) Producing an analytical and action framework based on interdisciplinarity, using the concepts of ecosystem services associated with pastoral areas and the concept of multifunctionality of pastoral activity, to strengthen the participation of societies in defining the future of pastoralism.
Interactive collection of metaphors (2022 – 2024) Developing an online interface and visualizations to collect and display a network of metaphors related to the soil during “metaphoring” workshops.
DSCATT: Soil carbon sequestration in farming systems (2022 – 2024) Developing sustainable and productive agricultural systems while increasing soil carbon sequestration, and raising awareness on the role of soil management to mitigate greenhouse gas emissions. I worked on GUIs to run and analyze a multi-agent model simulating agriculture-forest interactions in Senegal.
T. Raffaillac, N. Boukhelifa, E. Crouzat, F. Stark, J.-P. Müller, J. Lasseur. Development of a multi-agent simulation interface for the joint management of mid-mountain pastoral territories. Adjunct proceedings of the 34th Conference on l'Interaction Humain-Machine, April 2023, art. 6, pp. 1–6. (work in progress)DOIPDFposterslide
2023-06-20 - Comment (ré)concilier les Interfaces Humains-Machines avec les Transitions ?. Monthly seminar of the SENS research unit, Montpellier, France. 45min slides
2023-04-19 - Le numérique pour mieux produire (agroécologie - protection des cultures - productions animales durables - phénotypage rapide in situ). DigitAgora 2023, Montpellier, France. (round-table) 50min slides
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
Pastofutur (2022 – 2024) Producing an analytical and action framework based on interdisciplinarity, using the concepts of ecosystem services associated with pastoral areas and the concept of multifunctionality of pastoral activity, to strengthen the participation of societies in defining the future of pastoralism.
Interactive collection of metaphors (2022 – 2024) Developing an online interface and visualizations to collect and display a network of metaphors related to the soil during “metaphoring” workshops.
DSCATT: Soil carbon sequestration in farming systems (2022 – 2024) Developing sustainable and productive agricultural systems while increasing soil carbon sequestration, and raising awareness on the role of soil management to mitigate greenhouse gas emissions. I worked on GUIs to run and analyze a multi-agent model simulating agriculture-forest interactions in Senegal.
Visualization of individual competency evaluations (2021 – 2022) Website supporting per-student formative evaluations of competencies. It includes a complete pipeline to fetch grades from teachers, and two dashboards for students and teachers.
WEEX éolien (2020 – 2022) Server and online interface supporting a week-long teaching activity, in which students compete in groups to optimize the energy production of a wind farm. This activity is very much appreciated by students, and has been presented as a flagship of Centrale Lyon's innovation. The platform is now autonomous and hosts 3 events per year.
M. Savary-Leblanc, X. Le Pallec, P. Palanque, C. Martinie, A. Blouin, F. Jouault, M. Clavreul, T. Raffaillac. Mining human factors general trends from+ 100k UML class diagrams. Companion proceedings of the 25th International Conference on Model Driven Engineering Languages and Systems, HuFaMo, Oct. 2022, pp. 913–922. (workshop)DOI
T. Raffaillac & S. Huot. What do researchers need when implementing novel interaction techniques?. Proceedings of the ACM on Human-Computer Interaction, Volume 6, EICS, June 2022, art. 159, pp. 1–30. 🏆 27% DOIPDFslides
2022-09-01 - L'informatique en 2040 (un exercice de design spéculatif). Sustainable Development and Societal Responsibility committee, Centrale Lyon, France. 30 min slides
Algorithms and data structures (2019 – 2022) teaching assistant at Engineer1 level for 209h at École Centrale de Lyon complexity, sorting, graphs, dynamic programming, Python
Object-oriented design and programming (2019 – 2022) teaching assistant and guest lecturer at Engineer1 level for 146h at École Centrale de Lyon introduction to Software Engineering, UML, OOP, Graphical User Interfaces (slides, support), Python/tkinter
Web application project (2019 – 2022) teaching assistant at Engineer1 level for 124h at École Centrale de Lyon client-server architecture, HTML, CSS, JavaScript, JSON, Python, SQLite, team working, git
WEEX éolienne (2019 – 2022) co-organizer at Eng. 1/2 level for 92h at École Centrale de Lyon 5 editions of a week-long multidisciplinary pedagogical event
Students projects and mentoring (2019 – 2022) supervisor at Eng. 1/2/3 level for 56h at École Centrale de Lyon 6 projects (2 to 9 months), 1 intership (3 months), mentoring of 3 students
Member of the Sustainable Development and Societal Responsibility local committee at Centrale Lyon in 2021-2022. I worked mainly on extracting teaching measures from the COP2 agreement that was signed by the director, and helped promote and structure the first course on Ecological Transition.
Tips en Informatique (French) Slides created to help students from Centrale Lyon make better use of their computers. I keep them updated for my colleagues at CIRAD.
Coyote Time Lord Minimalist 2D game with time-altering mechanisms, created with Clément Pillias for the 50th Ludum Dare Jam. I did the eerie music, the sounds and the sprites.
SWERC 2021 Second participation as a coach, with teams ECL 2 (54th/97) and CentraleMegaStomp (64th/97). A remarkable result for Engineering students as well as first-timers!
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
Visualization of individual competency evaluations (2021 – 2022) Website supporting per-student formative evaluations of competencies. It includes a complete pipeline to fetch grades from teachers, and two dashboards for students and teachers.
WEEX éolien (2020 – 2022) Server and online interface supporting a week-long teaching activity, in which students compete in groups to optimize the energy production of a wind farm. This activity is very much appreciated by students, and has been presented as a flagship of Centrale Lyon's innovation. The platform is now autonomous and hosts 3 events per year.
P. Baron, L. Roche & T. Raffaillac. Visualisation automatique de graphes pour l'apprentissage des algorithmes. Proceedings of the 10th Conférence sur les Environnements Informatiques pour l’Apprentissage Humain, EIAH, June 2021, pp. 372–376. (poster)PDFvideo
Algorithms and data structures (2019 – 2022) teaching assistant at Engineer1 level for 209h at École Centrale de Lyon complexity, sorting, graphs, dynamic programming, Python
Object-oriented design and programming (2019 – 2022) teaching assistant and guest lecturer at Engineer1 level for 146h at École Centrale de Lyon introduction to Software Engineering, UML, OOP, Graphical User Interfaces (slides, support), Python/tkinter
Web application project (2019 – 2022) teaching assistant at Engineer1 level for 124h at École Centrale de Lyon client-server architecture, HTML, CSS, JavaScript, JSON, Python, SQLite, team working, git
WEEX éolienne (2019 – 2022) co-organizer at Eng. 1/2 level for 92h at École Centrale de Lyon 5 editions of a week-long multidisciplinary pedagogical event
Students projects and mentoring (2019 – 2022) supervisor at Eng. 1/2/3 level for 56h at École Centrale de Lyon 6 projects (2 to 9 months), 1 intership (3 months), mentoring of 3 students
Member of the Sustainable Development and Societal Responsibility local committee at Centrale Lyon in 2021-2022. I worked mainly on extracting teaching measures from the COP2 agreement that was signed by the director, and helped promote and structure the first course on Ecological Transition.
Creative and competitive programming club Running a club for students from February to April, partly during a Covid lockdown, with sessions alternating between competitive programming and live music coding with FoxDot.
Lost Souls Found The Gold You Lost To Save Your Soul Pacman-like game created with Clément Pillias and Nicole Pong for the Global Game Jam 2021. I did the UI, level design and incremental music (although due to a bug you cannot hear the full version).
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
WEEX éolien (2020 – 2022) Server and online interface supporting a week-long teaching activity, in which students compete in groups to optimize the energy production of a wind farm. This activity is very much appreciated by students, and has been presented as a flagship of Centrale Lyon's innovation. The platform is now autonomous and hosts 3 events per year.
T. Raffaillac, F. Chavanon & R. Vuillemot. Utilisation d’un juge en ligne pour l’évaluation automatique des programmes des étudiants. In the 8th colloque Didapro-DidaSTIC, Feb. 2020. (poster)PDF
T. Raffaillac, F. Chavanon & R. Vuillemot.. Mise en place d'une plateforme de programmation compétitive comme support de TDs. In the 8th colloque Didapro-DidaSTIC, Feb. 2020. (course)PDFGitHub
Algorithms and data structures (2019 – 2022) teaching assistant at Engineer1 level for 209h at École Centrale de Lyon complexity, sorting, graphs, dynamic programming, Python
Object-oriented design and programming (2019 – 2022) teaching assistant and guest lecturer at Engineer1 level for 146h at École Centrale de Lyon introduction to Software Engineering, UML, OOP, Graphical User Interfaces (slides, support), Python/tkinter
Web application project (2019 – 2022) teaching assistant at Engineer1 level for 124h at École Centrale de Lyon client-server architecture, HTML, CSS, JavaScript, JSON, Python, SQLite, team working, git
WEEX éolienne (2019 – 2022) co-organizer at Eng. 1/2 level for 92h at École Centrale de Lyon 5 editions of a week-long multidisciplinary pedagogical event
Students projects and mentoring (2019 – 2022) supervisor at Eng. 1/2/3 level for 56h at École Centrale de Lyon 6 projects (2 to 9 months), 1 intership (3 months), mentoring of 3 students
Online IDE with supervision Online IDE including a Python interpreter, coded at the start of the Covid outbreak to allow students to ask for help and show their code remotely (viewed as a mosaic on my side). It lacked modules so students would only use it to show code, but it was super helpful to let them feel supported throughout this event.
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
Polyphony: building GUIs with ECS (2016 – 2019) Proof-of-concept and technical walkthrough on adapting the Entity-Component-System model to the architecture of a Graphical User Interface.
T. Raffaillac. Améliorer les langages et bibliothèques logicielles pour programmer l'interaction. Doctoral thesis from the University of Lille. PDFslides
T. Raffaillac & S. Huot. Polyphony: Programming Interfaces and Interactions with the Entity-Component-System Model. Proceedings of the ACM on Human-Computer Interaction, Volume 3, EICS, Juin 2019, art. 8, pp. 1–22. 🏆 33% DOIPDFslides
Algorithms and data structures (2019 – 2022) teaching assistant at Engineer1 level for 209h at École Centrale de Lyon complexity, sorting, graphs, dynamic programming, Python
Object-oriented design and programming (2019 – 2022) teaching assistant and guest lecturer at Engineer1 level for 146h at École Centrale de Lyon introduction to Software Engineering, UML, OOP, Graphical User Interfaces (slides, support), Python/tkinter
Web application project (2019 – 2022) teaching assistant at Engineer1 level for 124h at École Centrale de Lyon client-server architecture, HTML, CSS, JavaScript, JSON, Python, SQLite, team working, git
WEEX éolienne (2019 – 2022) co-organizer at Eng. 1/2 level for 92h at École Centrale de Lyon 5 editions of a week-long multidisciplinary pedagogical event
Students projects and mentoring (2019 – 2022) supervisor at Eng. 1/2/3 level for 56h at École Centrale de Lyon 6 projects (2 to 9 months), 1 intership (3 months), mentoring of 3 students
Introduction to human-machine interfaces (2018 – 2019) teaching assistant at DUT1 level for 64h at Lille University/IUT A programming Graphical User Interfaces with JavaFX, event-based programming, user interface mockups, usability evaluation and heuristics
Advanced algorithms (2018 – 2019) teaching assistant at DUT2 level for 64h at Lille University/IUT A recursive and iterative algorithms, recursive and advanced data structures
Introduction to computer systems (2018 – 2019) teaching assistant at DUT1 level for 64h at Lille University/IUT A coding numbers and text, computer architecture, operating systems, scripting and the terminal, processes and files
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
Polyphony: building GUIs with ECS (2016 – 2019) Proof-of-concept and technical walkthrough on adapting the Entity-Component-System model to the architecture of a Graphical User Interface.
T. Raffaillac & S. Huot. Application du modèle Entité-Composant-Système à la programmation d'interactions. Proceedings of the 30th Conference on l'Interaction Humain-Machine, IHM, Oct. 2018, pp. 42–51. 33% DOIPDFslides
Introduction to human-machine interfaces (2018 – 2019) teaching assistant at DUT1 level for 64h at Lille University/IUT A programming Graphical User Interfaces with JavaFX, event-based programming, user interface mockups, usability evaluation and heuristics
Advanced algorithms (2018 – 2019) teaching assistant at DUT2 level for 64h at Lille University/IUT A recursive and iterative algorithms, recursive and advanced data structures
Introduction to computer systems (2018 – 2019) teaching assistant at DUT1 level for 64h at Lille University/IUT A coding numbers and text, computer architecture, operating systems, scripting and the terminal, processes and files
Algorithms and complexity (2017 – 2018) teaching assistant at Master1 level for 36h at Lille University divide and conquer, dynamic programming, greedy algorithms, complexity analysis, P/NP and reduction
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
Polyphony: building GUIs with ECS (2016 – 2019) Proof-of-concept and technical walkthrough on adapting the Entity-Component-System model to the architecture of a Graphical User Interface.
Turning function calls into animations (2016 – 2017) Demonstration of a programming language extension to express animations in Graphical User Interfaces, implemented in the Pharo/Smalltalk platform.
T. Raffaillac, S. Huot & S. Ducasse. Turning Function Calls Into Animations. Proceedings of the 9th Symposium on Engineering Interactive Computing Systems, EICS, Juin 2017, pp. 81–86. 35% DOIPDFslides
T. Raffaillac. Language and System Support for Interaction. Proceedings of the 9th Symposium on Engineering Interactive Computing Systems, EICS, June 2017, pp. 149–152. (doctoral consortium)DOIPDFslidesposter
Algorithms and complexity (2017 – 2018) teaching assistant at Master1 level for 36h at Lille University divide and conquer, dynamic programming, greedy algorithms, complexity analysis, P/NP and reduction
Catalysts Coding Contest Team ThiYo with Yoann Dufresne, 3rd in Lille, with help in organizing the hub (printing T-shirts and communicating to students).
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
Polyphony: building GUIs with ECS (2016 – 2019) Proof-of-concept and technical walkthrough on adapting the Entity-Component-System model to the architecture of a Graphical User Interface.
Turning function calls into animations (2016 – 2017) Demonstration of a programming language extension to express animations in Graphical User Interfaces, implemented in the Pharo/Smalltalk platform.
The Maze Nightmare Short game created with Yoann Dufresne and Matthieu Falce for the Ludum Dare Jam 35. As usual I did the artwork and music. Beware the game is meant to be oppressing...
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
edge264 (2013 – ) Experimental software decoder for the H.264 video codec, which I keep developing in my spare time to research new programming practices and to make a useful contribution to the open source community.
Exploring the design of compiler feedback (2012) Three visual prototypes of an IDE interface with a richer communication with compilers, along with an exhaustive list of cases where they could be useful.
T. Raffaillac. Exploring the design of compiler feedback. Proceedings of the 24th Annual Workshop of the Psychology of Programming Interest Group, PPIG, Nov. 2012, pp. 139–150. PDFslides
Film de Rentrée du GInfo (French) Short movie promoting the Computer Science student association at the annual associations fair of Ecole Centrale Marseille. A must-watch if you've scrolled down this far :)
Compression avec StaxRip (French) Tutorial to compress a video exported by Premiere Pro, using the software StaxRip. The parameters would correct the flaws introduced by Premiere (its disastrous deinterlacing filter) and output in a format ready for integration in a Web player.
Compression avec MeGUI (French) Tutorial to compress a video exported by Premiere Pro, using MeGUI. It was soon superseeded by the tutorial on StaxRip.
La lentille électrostatique (French comments) Simultation of an electrostatic lens by shooting electrons in a simple finite element mesh, created for the TIPE exam at the end of the Classes Préparatoires.
Oscillations d'un Fil (French comments) Real-time simulation of a flexible wire using Lagrangian Mechanics and RK4 integration, created for the TIPE exam.
Visionneuse 3D (French) Interactive viewer for 3D objects stored in files. This program ended a 3-year obsession to create a 3D engine, and was my last BASIC program before playing with more modern languages.