La première version de Liflow fonctionnait.
Mais elle était trop ambitieuse.
J'avais ajouté beaucoup de fonctionnalités, parfois par envie, parfois par curiosité, parfois parce que "ça pouvait être utile". Résultat : une application plus difficile à comprendre, plus lourde à maintenir, et moins intuitive que ce que j'avais en tête au départ.
Le déclic : Next.js 16
Le vrai déclic est venu quand Next.js 16 est sorti.
Plutôt que de faire un énième refactoring partiel, je me suis posé une question simple : est-ce que j'aurais envie de maintenir cette application pendant des années dans cet état ?
La réponse était non.
J'ai donc décidé de repartir de zéro. Pas un refactor, pas une migration progressive : un vrai reset.
Simplifier plutôt qu'ajouter
L'objectif n'était pas d'ajouter de nouvelles fonctionnalités, mais de simplifier l'existant. Réduire le nombre de concepts, clarifier l'architecture, rendre le code plus lisible et plus évident à parcourir.
Sur la première version, certaines fonctionnalités allaient trop loin. Par exemple, la gestion des événements ou certaines idées autour de l'IA.
Aujourd'hui, j'ai volontairement recentré Liflow sur l'essentiel : ce qui sert vraiment au quotidien.
Une fonctionnalité utile est une fonctionnalité qu'on utilise tous les jours, ou presque.
Le résultat
Le résultat est une application plus fluide, plus simple à comprendre, et surtout beaucoup plus agréable à maintenir.
À l'heure actuelle, je serais parfaitement à l'aise à ne faire que des mises à jour de dépendances et de sécurité pendant longtemps. Liflow est stable, cohérente et utile telle qu'elle est.
Ce que ce refactoring a changé
Ce refactoring a aussi changé ma façon de travailler.
Je prends plus de temps avant de coder. Je réfléchis davantage à l'architecture, à l'utilité réelle d'une fonctionnalité, et j'accepte beaucoup plus facilement de supprimer plutôt que d'ajouter.
Conclusion
Refaire Liflow de zéro m'a appris que la simplicité n'est pas un manque d'ambition, mais souvent un signe de maturité.
