I am a postdoctoral researcher at INRAE and CIRAD in Montpellier, member of research units SENS and SELMET since September 2022. In the past I :

My research field is Human-Computer Interaction, where I work on the engineering of graphical user interfaces and visualizations in socio-ecological contexts. My core motivation is to explore and improve the impacts of research on society. I have experimented with writing awarded articles for engineering and research communities (EICS'19, EICS'22), developing and actively promoting an open source project (edge264), co-chairing two working groups on Ecology and Sustainability, and being involved in interdisciplinary action research projects. As a teacher I have given courses on User Interfaces and Competitive Programming, and have been assistant in Algorithmics, Software Engineering and Web Development. I work hard to explore unconventional paths, most of my spare time going into compulsively crafting code then sharing it with engineering and academic communities.

On a personal note I am a passionate hiker, cook, cyclist, and musician ♫.

2023 Projects
Pastofutur (2022-)
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 [IHM'23].
Projects
DSCATT: Soil carbon sequestration in farming systems (2022-)
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 work on interfaces for multi-agent models simulating the regrowth of an acacia forest in Senegal.
Projects
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.
Publications
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) DOI PDF poster slide
Publications
T. Raffaillac. Interacting with numbers. In the 29th journées de Rochebrune 2023, Jan. 2023. (workshop) PDF slides
Invited talks
2023-06-20 - Comment (ré)concilier les Interfaces Humains-Machines avec les Transitions ?. Monthly seminar of the SENS research unit, Montpellier, France. 45min slides
Invited talks
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
Academic service
Co-chair of the French working group IHM & écologie since 2023
Academic service
Board member and webmaster for AFIHM (French Association for Human-Computer Interaction)
Academic service
Member of the French working group glihm (Software Engineering and Human-Computer Interaction) since 2021
2022 Projects
Pastofutur (2022-)
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 [IHM'23].
Projects
DSCATT: Soil carbon sequestration in farming systems (2022-)
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 work on interfaces for multi-agent models simulating the regrowth of an acacia forest in Senegal.
Projects
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.
Projects
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 is has been presented as a flagship of Centrale Lyon's innovation. The platform is now autonomous and hosts 3 events per year.
Projects
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.
Publications
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
Publications
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% DOI PDF slides
Invited talks
2022-12-15 - Scientific writing. Yearly PhD seminar from SENS, Valflaunès, France. (course) 2h notes
Invited talks
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
Teaching
Algorithms and data structures (2019-2022)
teaching assistant at Engineer1 level for 209h at École Centrale de Lyon
complexity, sorting, graphs, dynamic programming, Python
Teaching
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
Teaching
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
Teaching
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
Teaching
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
Academic service
Reviewer for CHI'22 and EICS'22, session chair at EICS'22
Academic service
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.
Academic service
Member of the French working group glihm (Software Engineering and Human-Computer Interaction) since 2021
Signs of life
Tips en Informatique (French)
Slides that I created to help students from Centrale Lyon make better use of their computers. I keep them updated for my colleagues at CIRAD.
Signs of life
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.
Signs of life
SWERC 2021
My 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!
Signs of life
Hash Code 2022 contest
703th/10177, 52th/529 in France, team #import mercy on my own.
2021 Projects
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.
Projects
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 is has been presented as a flagship of Centrale Lyon's innovation. The platform is now autonomous and hosts 3 events per year.
Projects
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.
Publications
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) PDF video
Teaching
Algorithms and data structures (2019-2022)
teaching assistant at Engineer1 level for 209h at École Centrale de Lyon
complexity, sorting, graphs, dynamic programming, Python
Teaching
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
Teaching
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
Teaching
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
Teaching
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
Academic service
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.
Academic service
Member of the French working group glihm (Software Engineering and Human-Computer Interaction) since 2021
Academic service
Reviewer for CHI'21 and IHM'20'21
Signs of life
Creative and competitive programming club
I ran this club for students from February to April, with sessions alternating between competitive programming and live music coding with FoxDot.
Signs of life
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).
2020 Projects
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 is has been presented as a flagship of Centrale Lyon's innovation. The platform is now autonomous and hosts 3 events per year.
Projects
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.
Publications
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
Publications
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) PDF GitHub
Teaching
Algorithms and data structures (2019-2022)
teaching assistant at Engineer1 level for 209h at École Centrale de Lyon
complexity, sorting, graphs, dynamic programming, Python
Teaching
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
Teaching
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
Teaching
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
Teaching
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
Academic service
Reviewer for CHI'20
Signs of life
Advent of Code 2020
This year I went through all the puzzles of this Christmas-themed challenge.
Signs of life
Code Jam 2020 contest
Reaching round 3 of this challenging competition.
Signs of life
Hash Code 2020 contest
2826th/10724, 2nd in our hub, team XoXot with Damien Masson, Nicolas Crosetti and Paul Gallot.
Signs of life
Online IDE with supervision
Online IDE including a Python interpreter, that I 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.
Signs of life
Competitive programming course
Slides for a custom course I created for 6 students, based on the excellent Competitive Programming 3 book.
Signs of life
MOOC on university teaching (French)
Followed during 10 weeks for ~2h/week [Certificate of completion]
Signs of life
SWERC 2019
My very first participation, as a coach, with teams ECL 1 (82th/98) and ECL 2 (84th/98). I also scored well at the coaches contest.
2019 Projects
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 [IHM'18, EICS'19].
Projects
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.
Publications
T. Raffaillac. Améliorer les langages et bibliothèques logicielles pour programmer l'interaction. Doctoral thesis from the University of Lille. PDF slides
Publications
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% DOI PDF slides
Teaching
Algorithms and data structures (2019-2022)
teaching assistant at Engineer1 level for 209h at École Centrale de Lyon
complexity, sorting, graphs, dynamic programming, Python
Teaching
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
Teaching
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
Teaching
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
Teaching
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
Teaching
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
Teaching
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
Teaching
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
Academic service
Reviewer for IHM'19
Signs of life
Raid Centrale Lyon
Running, cycling and canoeing. We registered for the discovery level with Thierry Gonon and finished 3rd.
Signs of life
Hash Code 2019 contest
91th/6671, 6th in France, team Lokidoki on my own.
2018 Projects
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 [IHM'18, EICS'19].
Projects
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.
Publications
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% DOI PDF slides
Teaching
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
Teaching
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
Teaching
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
Teaching
Web technologies (2017-2018)
teaching assistant at Bachelor1 level for 36h at Lille University
client-side Web technologies HTML/CSS/JavaScript
Teaching
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
Academic service
Reviewer for IHM'18
Signs of life
Catalysts Coding Contest
Team //#include <mercy> with Lucien Mousin, 2nd in Lille, for which I participated in organizing the hub.
Signs of life
Hash Code 2018 contest
1122th/3012, team //#include <mercy> with Lucien Mousin.
2017 Projects
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 [IHM'18, EICS'19].
Projects
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 [EICS'17].
Projects
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.
Publications
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% DOI PDF slides
Publications
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) DOI PDF slides poster
Invited talks
2017-05-19 - Animations in Pharo Smalltalk. Pharo Days, Lille, France. (demo) 10min video
Teaching
Web technologies (2017-2018)
teaching assistant at Bachelor1 level for 36h at Lille University
client-side Web technologies HTML/CSS/JavaScript
Teaching
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
Academic service
Reviewer for IWST'17 and ManLang'17
Signs of life
Catalysts Coding Contest
Team ThiYo with Yoann Dufresne, 3rd in Lille, where I also helped organizing the hub (printing T-shirts and communicating to students).
Signs of life
Hash Code 2017 contest
186th/2815, 1st in our hub, team ThiYo with Yoann Dufresne.
Signs of life
Meilleur jeu du monde
Nerds + Beers = Game dev party... (during FOSDEM 2017)
2016 Projects
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 [IHM'18, EICS'19].
Projects
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 [EICS'17].
Projects
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.
Invited talks
2016-08-25 - Early ECS in Pharo Smalltalk. ESUG 2016, Prague, Czech Republic. (demo) 10min video
Signs of life
Bamboo that bends
A 3D Twister game made with five people during the ZooMachines Interactive Arts festival, which was way funnier than on video!
Signs of life
A case about parsing errors
A blog article about the handling of errors in edge264.
Signs of life
Hash Code 2016 contest
153rd/1054, 1st in our hub, team Brony Express with Izzatbek Mukhanov and Sébastien Poulmane.
Signs of life
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...
2015 Projects
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.
2014 Projects
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.
2013 Projects
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.
2012 Projects
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 [PPIG'12].
Publications
T. Raffaillac. Exploring the design of compiler feedback. Master thesis from KTH Royal Institute of Technology. PDF slides
Publications
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. PDF slides
Signs of life
Little Sheep
Short story-telling game created with Alexandre Kohen during 3 days for the Ludum Dare Jam 23. I did the artwork and music :)
2011 Signs of life
Assisting interface for easy administration of a CMS
Study of a novel interface for online Content Management Systems, for the Interaction Design course. [PDF]
Signs of life
Assassination Game Application
Video prototype for a Group Project of the Interaction Design course.
Signs of life
WHILE compiler
Optimizing compiler backend written in Java for a subset of the WHILE language to UNIX x64 assembly, for the Program Semantics and Analysis course. [sample output]
Signs of life
Diffusion en direct avec VLC (French)
Interactive tutorial to easily set up a high-quality real-time video broadcast using VLC.
2010 Signs of life
Mise en place de VOD (French)
Step-by-step documentation to install and fine-tune a Video-on-Demand server on Linux.
2009 Signs of life
Club programmation
Support material for an OpenGL course I created at Centrale Marseille.
Signs of life
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 :)
Signs of life
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.
Signs of life
Compression avec MeGUI (French)
Tutorial to compress a video exported by Premiere Pro, using MeGUI. It was soon superseeded by the tutorial on StaxRip.
2008 Signs of life
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.
Signs of life
Modèle EXE (French comments)
Source code for nasm based on the PE/COFF reference, to create an executable file from scratch without linking.
2007 Signs of life
Oscillations d'un Fil (French comments)
Real-time simulation of a flexible wire using Lagrangian Mechanics and RK4 integration, created for the TIPE exam.
Signs of life
Casse-briques (French comments)
Breakout-clone where the paddle can tilt.
2005 Signs of life
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.