Vue d'ensemble
SynexFlow est un prototype de planification assistée par IA conçu pour le hackathon Tatweer, où l'équipe a remporté la deuxième place. Il relie la prévision, la planification de la production, la visibilité sur les stocks, le contexte externe et les recommandations.
Problème
La planification d'entreprise dépend des données de ventes, de stocks, de logistique, de fournisseurs, de marché et d'opérations. Quand ces données sont séparées, les équipes réagissent tard aux variations de la demande, aux ruptures, aux retards et aux risques.
Contexte
L'organisation publique compte quatre dépôts : synexflow-ai pour la prévision et les agents FastAPI, tatweer-back pour Express/MongoDB, tatweer-front pour le tableau de bord et tatweer-Landing-page pour les visuels de la page d'accueil.
Mon rôle
Membre de l'équipe du hackathon classée deuxième. L'étude de cas se concentre sur l'architecture construite en équipe et sur le travail de planification par IA, sans revendiquer la paternité exclusive sur l'ensemble des dépôts.
Objectifs
- Créer un MVP de planification d'entreprise intégrée pour le hackathon Tatweer
- Prévoir les ventes futures à partir des totaux de commandes historiques
- Générer des recommandations de planification produit à partir des données produit, du contexte web et d'un raisonnement par LLM
- Classer les alertes opérationnelles et y répondre avec un plan d'action assisté par IA
- Exposer les entités métier via une API REST pour le tableau de bord et le service d'IA
- Montrer la planification, la prévision, les alertes et les facteurs externes dans un tableau de bord tourné vers le produit
Décisions techniques
- Utiliser FastAPI pour le service d'IA afin que la prévision et les workflows d'agents puissent évoluer indépendamment de l'API produit principale
- Utiliser TimeGPT via Nixtla pour générer des prévisions de ventes à partir d'un historique de dates et de prix totaux
- Utiliser LangGraph pour des workflows en plusieurs étapes plutôt qu'un seul prompt, afin de rendre la planification produit et le traitement des alertes plus faciles à raisonner
- Utiliser DeepSeek via OpenRouter pour les appels au LLM dans les workflows de planification et d'alertes
- Utiliser une API Express/TypeScript avec MongoDB/Mongoose pour l'authentification, les produits, les clients, les commandes, les fournisseurs, les entrepôts, l'inventaire, les alertes, les actions, les intégrations et les prévisions
- Utiliser Next.js, React, TypeScript, Tailwind CSS et Chart.js pour le tableau de bord et les surfaces d'analyse
- Utiliser un dépôt distinct pour la page d'accueil afin que le produit du hackathon puisse être expliqué publiquement tandis que le tableau de bord et l'API restaient modulaires
Architecture
SynexFlow est découpé en couches produit, données et IA. Le tableau de bord Next.js appelle une API Express/TypeScript via Axios. L'API gère l'authentification, la validation, les téléversements et les enregistrements MongoDB des ventes, produits, inventaires, alertes, actions, intégrations et prévisions. FastAPI expose les routes de prévision et de planification. TimeGPT produit les prévisions ; LangGraph récupère les données, ajoute du contexte, appelle un LLM et renvoie des recommandations.
Schéma d'architecture
flowchart LR
Visitor["Visiteur de la page d'accueil"] --> Landing["Page d'accueil Next.js"]
BusinessUser["Utilisateur métier"] --> Dashboard["Tableau de bord Next.js"]
Landing --> Dashboard
Dashboard --> Rest["Client REST Axios"]
Rest --> Api["API Express TypeScript"]
Api --> Auth["Authentification JWT, validation, téléversements"]
Api --> Modules["Modules IBP"]
Modules --> Records["Produits, commandes, fournisseurs, entrepôts, inventaire, alertes, prévisions"]
Api <--> Mongo[("MongoDB et Mongoose")]
Api --> AiApi["Service d'IA FastAPI"]
AiApi --> Forecast["Prévision des ventes TimeGPT"]
AiApi --> ProductGraph["Workflow LangGraph de planification produit"]
AiApi --> AlertGraph["Workflow LangGraph d'actions sur alertes"]
ProductGraph --> ProductData["Données de l'endpoint produits"]
ProductGraph --> MarketSearch["Contexte de recherche web"]
AlertGraph --> ERPData["Données d'alertes ERP"]
AlertGraph --> MarketSearch
MarketSearch --> LLM["DeepSeek via OpenRouter"]
ERPData --> LLM
ProductData --> LLM
LLM --> Plans["Plans intégrés et recommandations d'actions"]
Forecast --> Insights["Résultats de prévision"]
Plans --> Dashboard
Insights --> DashboardCaptures d'écran de l'étude de cas
4 vuesFonctionnalités clés
- Route de prévision des ventes prenant en entrée les données historiques et un horizon de prévision
- Workflow d'agent de planification produit : récupération des données produit, recherche de contexte web et génération d'un plan intégré
- Workflow d'actions sur alertes : récupération des données ERP, classification des alertes, contexte supplémentaire et création du plan final
- Modules backend pour les entités IBP, dont produits, commandes, inventaire, entrepôts, fournisseurs, alertes, actions, intégrations et prévisions
- Écrans de tableau de bord pour la planification de la production, la prévision des ventes, les alertes et prédictions, l'inventaire, les produits et les rapports
- Page d'accueil qui présente la planification et l'exécution d'entreprise assistées par IA
- Deuxième place au hackathon Tatweer par Micro Club à l'USTHB
Défis
- Rendre compréhensible dans le temps d'un hackathon une idée IBP très large
- Séparer les dépôts d'IA, de backend, de tableau de bord et de page d'accueil sans perdre le contexte produit
- Concevoir des workflows d'agents qui récupèrent du contexte avant de générer des plans plutôt que de s'appuyer sur des prompts isolés
- Relier les sorties de l'IA à des écrans opérationnels comme les prévisions, les alertes, les plans de production et les facteurs externes
- Garder un texte de portfolio honnête en le présentant comme un prototype de hackathon réalisé en équipe
Résultats
- Deuxième place au hackathon Tatweer organisé par Micro Club à l'USTHB
- Un projet public de quatre dépôts avec workflows d'IA, API backend, tableau de bord et page d'accueil
- Ajout d'une étude de cas sur les LLM et les systèmes agentiques
- Remplacement du texte de substitution par une architecture, des visuels et des liens publics fondés sur les dépôts
Ce que j'ai appris
- Les systèmes agentiques sont plus faciles à expliquer quand chaque nœud correspond à une étape métier : récupérer des données, ajouter du contexte, raisonner, puis produire un plan
- Les workflows de prévision et d'alertes deviennent plus utiles lorsqu'ils sont reliés aux décisions du tableau de bord
- Les projets de hackathon ont besoin de schémas d'architecture clairs parce que le produit s'étend souvent sur plusieurs petits dépôts
- Un résultat gagnant est plus utile quand il s'accompagne de détails techniques concrets