Développer un outil AI-assisted pour analyser et refactorer la gestion d'état legacy des frontends en architectures modernes (React + Redux Toolkit / Zustand / Recoil).
Extraire automatiquement l'arbre d'état existant, analyser les dépendances et proposer des transformations et migrations progressives avec visualisation interactive.
Expected deliverables
Visualisation interactive du graphe d'état/dépendances avec insights d'analyse (utilisant React Flow) pour aider à comprendre les points de coupling et les dépendances critiques.
Suggestions de code de migration auto-générées (snippets/patches) pour guider une modernisation progressive vers Redux Toolkit ou Zustand/Recoil.
Outil fonctionnel capable d'extraire le graphe d'état actuel, d'effectuer des transformations automatisées et de produire artefacts (code, rapports, visualisations).
Technical stack & tools
Frontend / Core : React (TypeScript) pour l'interface et les visualisations.
State management targets : Redux Toolkit / Zustand / Recoil comme cibles de modernisation.
Visualization : React Flow pour représenter visuellement les graphes d'état et dépendances.
UI styling : Tailwind CSS / Material UI.
Code parsing / generation : Babel Parser et ts-morph pour analyser et générer transformations de code TypeScript/JS.
AI (optionnel) : TensorFlow.js ou module local pour apprendre et améliorer les recommandations de refactor au fil du temps.
Tasks & responsibilities
Implémenter un extractor qui parcourt le code frontend, identifie et construit le graphe d'état actuel (stores, slices, atoms, selectors, etc.).
Développer la visualisation interactive du graphe avec analyses (points chauds, dépendances cycliques, impact des changements).
Générer automatiquement des propositions de migration (patches/snippets) et un workflow pour appliquer progressivement les changements.
(Optionnel) Concevoir et intégrer un module ML (TensorFlow.js) qui apprend des patterns de refactor pour améliorer les suggestions au fil du temps.
Tester l'outil sur projets legacy, documenter les workflows et produire guides pour l'adoption par des équipes frontend.
Internship details & application
Type : Pre-employment Internship, Paid Internship.
Durée : 6 months (référencé comme 4-6 months pour le stage).
Nombre de postes : 1 stagiaire.
Pour postuler : envoyer votre candidature à stages@binitns.com en précisant le sujet de l'email : "[candidature stage] 08 AI-Assisted State Management Refactor Assistant - NomPrénom".