Ce mois-ci, j’ai entamé la réalisation d’un nouveau projet personnel sur mon temps libre : Thermo Tasker 🧾. Une TODO list qui imprime vos tâches sur papier thermique, pour allier le meilleur du numérique et de l’analogue.

Pourquoi ce projet ?#

L’idée est simple, créer un pont entre un workflow numérique et un output physique. Résultat ? Des tâches plus tangibles, plus engageantes, plus satisfaisantes à accomplir, et bien moins distrayantes que les notifications intempestives de nos smartphones.

Comme beaucoup, j’aime beaucoup utiliser des TODO lists pour organiser mes journées et prioriser mes tâches mais j’ai remarqué que les notifications sur mon téléphone ou ordinateur et ce workflow purement numérique avaient tendance à me distraire plus qu’autre chose, je trouvais les notifications trop éphémères et mes tâches trop simples à ignorer. J’ai donc voulu expérimenter avec une approche différente.

Tout a commencé avec cet article inspirant de Laurie Hérault. Son approche de la productivité en utilisant une imprimante thermique pour imprimer ses tâches quotidiennes m’a vraiment interpellé et séduit, et j’ai voulu adapter son idée à mes besoins. J’ai déniché une vieille imprimante thermique Epson sur LeBonCoin et je me suis lancé !

Comment ça marche ?#

Thermo Tasker permet de :

  • Créer, visualiser et planifier vos tâches via une interface web simple.
  • Imprimer des tickets avec un sujet et une description pour chaque tâche. J’ai volontairement limité les champs à ces deux éléments : pour moi, une tâche doit être découpée en sous-tâches atomiques. Cela permet de mieux visualiser la charge de travail et de la rendre plus attrayante à accomplir.

Thermo Tasker's home page

Page d’accueil de Thermo Tasker

New task form

Formulaire d’une nouvelle tâche

TODO list view

Visualisation de la TODO list

Printer doing its job

L’imprimante en action

Printed task example

Exemple de tâche imprimée

Les défis techniques#

Ce projet a été un petit challenge technique :

  • Communication avec une imprimante thermique via USB : j’ai dû plonger dans la documentation (obscure et mystique) de l’Epson TM-T20III pour comprendre comment envoyer les commandes d’impression correctement.
  • Conception d’une architecture distribuée et event-driven pour une plus grande flexibilité de déploiement et la possibilité de faire des traitements de manière asynchrone entre la création de la tâche et son impression.
  • Première expérience enrichissante, inspirante et agréable avec RabbitMQ
  • Conteneurisation de plusieurs modules dans un monorepo
  • Expérimentations avec GitHub Actions pour automatiser mes workflows
  • Développement en TDD et architecture hexagonale pour une meilleure qualité de code, une meilleure modularité et une évolutivité garantie
  • Vision produit : j’ai abordé ce projet avec une approche orientée utilisateur, pour créer une solution qui répond à un besoin concret.

Un MVP fonctionnel… et des idées plein la tête !#

J’ai donc enfin fini le Minimum Viable Product mais ce n’est que le début ! Voici quelques idées pour la suite :

  • Un frontend plus dynamique pour une expérience utilisateur optimale. 🔮
  • La programmation des impressions en différées ou récurrentes des tâches pour être notifié en temps et en heure pour des tâches urgentes ou prioritaires. ⏰
  • Et bien plus… Un magicien ne dévoile pas tous ses tours ! 🤫

Would you like to know more?#

👉 Le code est disponible sur GitHub

💬 Vous souhaitez intégrer une solution similaire dans votre workflow ? Contactez-moi, je serai ravi d’échanger avec vous !