RECHERCHE STAGE PFE · FÉVRIER / MARS — JUILLET 2027 · MAROCSEEKING A PFE INTERNSHIP IN MOROCCO — FEBRUARY / MARCH TO JULY 2027
IA APPLIQUÉE · DATA · SOFTWAREAPPLIED AI. DATA. SOFTWARE.
MEKNÈS · MOROCCO
Meryem El Osmani
Ingénieure en Intelligence Artificielle & Développement LogicielArtificial Intelligence & Software Engineer
Étudiante en Master Intelligence Artificielle et Systèmes de Décision Optimale à Meknès. Je conçois des systèmes d'IA appliqués, des architectures logicielles robustes et des pipelines MLOps de bout en bout. Spécialisée en vision par ordinateur, modélisation prédictive et ingénierie full-stack orientée décision.Master's student in Artificial Intelligence and Optimal Decision Systems in Meknès, Morocco. I design applied AI systems, robust software architectures, and end-to-end MLOps pipelines. Specialized in computer vision, predictive modelling, and full-stack engineering.
Relier l’analyse à la réalisation.Connecting analysis with implementation.
Comprendre la donnée, choisir l'approche technique, construire le logiciel et évaluer ses limites.Understanding the data, choosing an approach, building the application and evaluating its limitations.
🔬
Parcours académique & curiositéAcademic foundation
Ma formation associe génie informatique, systèmes intelligents et recherche opérationnelle. Je m’intéresse à la trajectoire complète qui mène d’un problème à une solution concrète : comprendre la donnée, choisir l’approche, développer l’application et mesurer honnêtement ses limites.My background spans computer engineering, intelligent systems and operations research. I’m interested in the complete path from a problem to a working solution: understanding the data, choosing an approach, building the application and evaluating its limitations.
⚡
Expérience pratique & équipePractical impact
Lors de mon stage chez Arimas Holdings, j’ai exercé comme team leader et ingénieure IA/logiciel sur Tadbir AI. Mon activité freelance m’a également appris à nettoyer, structurer et automatiser des flux de données répondant à de réels besoins métier.During my internship at Arimas Holdings, I worked as a team leader and AI/software engineering intern on Tadbir AI. My freelance work has also given me experience preparing and structuring data for practical business needs.
💡
Philosophie & transparenceEngineering philosophy
Mes projets explorent le machine learning, la vision par ordinateur, l’optimisation et la cybersécurité. À travers ce portfolio, je partage ce que je construis, les décisions qui sous-tendent chaque choix et les enseignements tirés en chemin.My projects explore machine learning, computer vision, optimisation and cybersecurity. Through this portfolio, I share what I build, the decisions behind it and what I learn along the way.
02 / PROJETS SÉLECTIONNÉSSELECTED PROJECTS
Trois études de cas approfondies.Three in-depth case studies.
ResearchOS, Analyste IA multi-agents et V2C-Sentinel : explorez les décisions d'architecture et les détails d'implémentation.ResearchOS, Multi-Agent AI Analyst and V2C-Sentinel: explore the architectural choices and technical implementations.
RAG · RECHERCHE DOCUMENTAIRE · PGVECTOR
ResearchOS
Recherche documentaire avec RAG et réponses sourcées · Comparaison de modèlesDocument retrieval with RAG and sourced answers · Model benchmarking
Recherche documentaire avec génération augmentée par recherche (RAG) et réponses sourcées ; comparaison de modèles prédictifs. FastAPI, Next.js, pgvector.Document retrieval with Retrieval-Augmented Generation (RAG) and sourced answers; predictive model benchmarking. FastAPI, Next.js, pgvector.
Architecture logicielle et développement complet : pipeline d’ingestion et de vectorisation des documents avec pgvector, API asynchrone FastAPI, interface utilisateur Next.js et banc d’évaluation comparatif des modèles de prédiction et de réponse.Full-stack architecture and engineering: document chunking and vector indexing pipeline using pgvector, asynchronous FastAPI backend, Next.js interface, and comparative model benchmarking.
Choix de PostgreSQL + pgvector pour regrouper les métadonnées relationnelles et les vecteurs au sein d’une même infrastructure transactionnelle sans complexité opérationnelle superflue, couplé à FastAPI pour le streaming temps réel.Selected PostgreSQL + pgvector to consolidate relational metadata and dense vectors in a unified database, combined with FastAPI for asynchronous streaming.
SYSTÈMES MULTI-AGENTS · LANGGRAPH & DUCKDB
Analyste IA multi-agents
Système collaboratif de 6 agents pour l’analyse de données et le reporting automatiséCollaborative 6-agent system for data analysis, verification and reporting
Conception d’un système de 6 agents pour analyser les données, vérifier les résultats et produire des graphiques et des rapports. LangGraph, DuckDB, Polars, Gemini.Design of a 6-agent system to analyze data, verify results, and generate charts and reports. LangGraph, DuckDB, Polars, Gemini.
Conception intégrale de l’architecture multi-agents sous LangGraph, formulation des rôles spécialisés, orchestration de l’état partagé et optimisation des calculs analytiques in-memory avec DuckDB et Polars.Designed and implemented the complete LangGraph multi-agent architecture, authored discrete agent prompt contracts, managed execution state persistence, and accelerated in-memory data operations with DuckDB and Polars.
Choix d’un graphe d’états déterministe avec points de contrôle sous LangGraph plutôt qu’une chaîne linéaire opaque, et association DuckDB + Polars pour exécuter des requêtes analytiques massives avec une empreinte mémoire minimale.Selected LangGraph for cycle-aware state transitions and safety checkpoints, paired with DuckDB and Polars for columnar speed without database overhead.
MACHINE LEARNING · CYBERSECURITY · SIMULATION
V2C-Sentinel
Prototype de recherche · Détection d’intrusions CAN & contraintes 5GResearch prototype · CAN intrusion detection under 5G constraints
Détection d’intrusions CAN (Controller Area Network) en simulation locale : requêtes de confirmation limitées et délais 5G rejoués. Python, régression logistique, forêt aléatoire.CAN (Controller Area Network) intrusion detection under local simulation: constrained confirmation requests and replayed 5G delays. Python, logistic regression, random forest.
Recherche et développement logiciel : conception de l’architecture à deux niveaux, extraction des caractéristiques temporelles des trames CAN, entraînement des modèles locaux et simulation des distributions de latence 5G.Research and software development: dual-tier architecture design, CAN frame feature extraction, training detection classifiers, and simulating 5G delay distributions.
Adopter une approche hiérarchique pour concilier rapidité de réaction locale et économie de bande passante, plutôt que d’envoyer chaque trame dans le cloud ou de surcharger le microcontrôleur embarqué.Adopted a hierarchical tier to balance immediate on-vehicle reaction with constrained cloud bandwidth, rather than saturating the network or vehicle ECU.
03 / AUTRES PROJETSMORE PROJECTS
Travaux complémentaires & Démonstrations.Additional technical projects.
Analytics e-commerce, recherche opérationnelle, modélisation de trafic, vision par ordinateur et applications full-stack.E-commerce analytics, operations research, traffic forecasting, computer vision and full-stack tools.
01AI & BUSINESS SOFTWARE · INTERNSHIP
Logiciel de gestion métier assisté par l’IAAI-assisted business software
Tadbir AI
Automatisation des flux administratifs et facturation.Streamlining administrative workflows and invoicing.
Une plateforme collaborative développée chez Arimas Holdings réunissant facturation, suivi client, gestion des stocks et reporting, avec extraction documentaire assistée par IA et import de tableurs.A collaborative business-management platform developed during my internship at Arimas Holdings bringing together invoicing, customer management, inventory and reporting, with AI document extraction and spreadsheet imports.
PythonDjango RESTNext.jsTypeScriptGemini
Méthodologie & PérimètreApproach & Scope
Approche techniqueTechnical approach
Rôle de Team Leader et ingénieure stagiaire : API Django REST, validation de schémas et intégration Gemini.Team Leader & Engineering Intern: Django REST APIs, schema validation and Gemini orchestration.
Cadre & validationProject scope & validation
Projet d’équipe réalisé en stage chez Arimas Holdings (juillet–septembre 2026).Team project delivered during internship at Arimas Holdings (July–September 2026).
De la préparation de données à la détection de dérive.From data preparation to drift monitoring.
Un pipeline complet autour du jeu Telco Churn : versioning DVC, suivi des expérimentations MLflow, API d’inférence FastAPI sous Docker et monitoring de distribution avec tests KS et PSI.An end-to-end churn prediction pipeline using the Telco dataset: DVC versioning, MLflow tracking, Dockerized FastAPI inference endpoint, and KS/PSI distribution monitoring.
PythonScikit-learnDVCMLflowFastAPIDocker
Méthodologie & PérimètreApproach & Scope
Approche techniqueTechnical approach
Reproductibilité complète, conteneurisation Docker et tests statistiques de dérive.Full pipeline reproducibility, Docker containerization and statistical drift detection.
Cadre & validationProject scope & validation
Projet individuel avec exécution locale documentée et pipeline de réentraînement.Personal project with documented local execution and automated retraining criteria.
De 1M+ transactions à des analyses décisionnelles.From 1M+ transactions to business intelligence.
Une application analytique construite autour du jeu public Online Retail II (>1 million de transactions). Elle explore la segmentation RFM, la classification ABC-XYZ, les prévisions de revenus avec Prophet et les corrélations prix-demande dans un tableau de bord web interactif.An e-commerce analytics application built using the public Online Retail II dataset (>1 million transactions). It explores customer RFM segmentation, product classification, revenue forecasting with Prophet, and price-demand relationships in an interactive dashboard.
PythonDuckDBSQLFastAPIProphetChart.js
Méthodologie & PérimètreApproach & Scope
Approche techniqueTechnical approach
Segmentation vectorisée avec DuckDB, API FastAPI et visualisation Chart.js.Vectorized segmentation with DuckDB, FastAPI backend and Chart.js visualization.
Cadre & validationProject scope & validation
Projet analytique d’exploration. La corrélation prix-demande est observationnelle et ne démontre pas une élasticité causale ni un gain commercial réel.Exploratory analytics project. Price-demand correlation is observational and does not claim causal elasticity or commercial gains.
Aide à la décision logistique sous contraintes.Decision-support dashboard under operational constraints.
Un tableau de bord interactif pour explorer des scénarios d’approvisionnement et d’allocation de ressources. Formulation en programmation linéaire, optimisation multi-objectifs, modélisation de l’incertitude, simulation de Monte-Carlo et analyses de sensibilité.An interactive dashboard for exploring procurement and resource allocation decisions under constraints, using linear programming, multi-objective trade-offs, Monte Carlo simulation, and sensitivity analysis.
PythonPuLPStreamlitPlotly
Méthodologie & PérimètreApproach & Scope
Approche techniqueTechnical approach
Programmation mathématique PuLP et visualisations interactives Plotly/Streamlit.Mathematical optimization using PuLP with Plotly and Streamlit interactive interfaces.
Cadre & validationProject scope & validation
Étude de cas par simulation : les scénarios modélisent des compromis mathématiques et ne représentent pas des économies mesurées chez un client.Simulation-based study: scenarios explore constraint boundaries rather than verified commercial savings.
Anticiper les flux de circulation urbains.Forecasting urban traffic congestion patterns.
Un projet associant préparation de séries temporelles, ingénierie de variables temporelles, comparaison méthodique de modèles (SVR, KNN, arbres de décision, régression multiple) et tableau de bord de visualisation web.A traffic-prediction project combining time-series preparation, feature engineering, and systematic benchmarking of SVR, KNN, decision trees, and multiple regression with interactive web charts.
PythonScikit-learnSVRKNNJavaScript
Méthodologie & PérimètreApproach & Scope
Approche techniqueTechnical approach
Nettoyage de données, métriques d’erreur (MAE, RMSE, R²) et graphiques web.Data cleaning, metric evaluation (MAE, RMSE, R²) and web visualization.
Cadre & validationProject scope & validation
Projet académique documenté dans le dépôt GitHub ; évalué sur données historiques sans déploiement urbain réel.Documented academic project evaluated against historical benchmark data; no live municipal deployment is claimed.
Transformer le mouvement des mains en interactions naturelles.Turning hand movements into touchless interactions.
Une suite de démonstrations utilisant un flux webcam standard et le suivi des points de repère anatomiques de la main (MediaPipe) : dessin gestuel dans l’espace (air-writing), manipulation d’éléments et redimensionnement par pincement.Webcam-based demonstrations that turn hand movements into natural user interactions using MediaPipe landmark tracking: air writing, gesture-controlled drawing, and pinch-based resizing.
OpenCVMediaPipePythonNumPy
Méthodologie & PérimètreApproach & Scope
Approche techniqueTechnical approach
Traitement temps réel OpenCV, détection 21 points de repère MediaPipe.Real-time OpenCV processing with 21-point MediaPipe hand tracking.
Cadre & validationProject scope & validation
Démonstrations locales temps réel ; la réactivité dépend des conditions d’éclairage et de la résolution caméra.Local interactive demonstrations; performance depends on camera resolution and lighting conditions.
Gestion d’annuaire complet avec assistant IA.Contact management system with integrated AI assistant.
Une application web complète comprenant authentification utilisateur, recherche avancée, gestion de catégories, favoris, agenda, assistant conversationnel Gemini, notifications par e-mail et export CSV.A complete web platform featuring user authentication, advanced search, categories, favorites, agenda, an integrated Gemini AI assistant, email alerts, and CSV export.
FlaskSQLiteJinja2Gemini
Méthodologie & PérimètreApproach & Scope
Approche techniqueTechnical approach
Architecture Flask MVC, base relationnelle SQLite, intégration API Gemini.Flask MVC architecture, SQLite relational schema, Gemini API integration.
Cadre & validationProject scope & validation
Application de démonstration illustrant la maîtrise d’une architecture web complète de bout en bout.Demonstration application showcasing full-cycle web engineering and third-party API orchestration.
Stages & Activité freelance.Experience in teams & consulting.
Une pratique alliant conduite de projet, intégration logicielle et traitement rigoureux des données.Combining team coordination, software development and rigorous data processing.
Arimas Holdings
Team Leader · Ingénieure IA / Logiciel stagiaireTeam Leader · AI / Software Engineering Intern
Travail avec une équipe de développement sur Tadbir AI, une plateforme de gestion d’entreprise intégrant des capacités d’IA. Coordination d’équipe combinée à des contributions concrètes au développement logiciel et à l’extraction de documents.Worked with a development team on Tadbir AI, a business-management platform incorporating AI capabilities. Combined team coordination with contributions to AI and software development.
EUMATRIX.eu · Upwork
Data Analyst freelanceFreelance Data Analyst
Collecte de jeux de données ciblés pour le marché danois ; nettoyage, transformation et structuration des données avec Python et SQL. Contribution à la validation des données et à l’automatisation des workflows, avec une mission renouvelée par le client.Collected targeted datasets for the Danish market and cleaned, transformed and structured data using Python and SQL. Contributed to data validation and workflow automation, including a follow-up engagement with the same client.
EST Meknès
Stagiaire en développement logicielSoftware Development Intern
Développement d’une application PHP/MySQL de génération automatique d’emplois du temps, déployée et utilisée au sein de trois départements académiques. Rédaction de la documentation d’utilisation et de maintenance.Developed a PHP/MySQL timetable-generation application used across three departments. Produced user and maintenance documentation.
Support des outils informatiques internes, assistance à la résolution d’incidents techniques et préparation de guides documentaires pour les utilisateurs.Supported internal tools, helped resolve technical incidents and prepared documentation for users.
05 / DOMAINES DE COMPÉTENCESAREAS OF PRACTICE
Expertise & Méthodes de travail.Core competencies & toolsets.
Quatre piliers techniques reliant analyse, modélisation, mise en production et optimisation.Four technical pillars connecting analysis, modeling, software deployment and optimization.
01 / DATA
Analyse de donnéesData analysis
Préparer, explorer et structurer des volumes de données pour appuyer des analyses décisionnelles utiles.Preparing, exploring and structuring data to support useful analysis.
Comparer méthodiquement les modèles prédictifs, intégrer l’IA générative et explorer des interfaces visuelles.Comparing predictive models, integrating generative AI and exploring computer-vision interactions.
Scikit-learn · OpenCV · MediaPipe · Gemini
03 / SOFTWARE & MLOPS
Logiciel & MLOpsSoftware and MLOps
Relier modèles et données aux applications réelles, avec des APIs rapides, du suivi d'expériences et du code reproductible.Connecting models and data to applications, with APIs, experiment tracking and reproducible environments.
Formuler des contraintes mathématiques, explorer l’incertitude et comparer rigoureusement des scénarios de décision.Formulating constraints, exploring uncertainty and comparing decision scenarios.
PuLP · Linear programming · Monte Carlo simulation · Sensitivity analysis
06 / JOURNAL DE PROJETSPROJECT JOURNAL
Les coulisses des projets.Behind the projects.
Notes sur les expérimentations, les choix d’implémentation et les enseignements tirés sur le terrain.Notes on experiments, implementation choices and lessons from working with data, AI and software.
Format d’analyse rigoureux :Analytical article structure:
Le problème formulé → L’approche testée → L’expérimentation → Ce que les données ont montré → Limites & suites.The problem formulation → Approach tested → Implementation/experiment → Empirical findings → Limitations & next steps.
RAG & VECTOR SEARCH
RAG & pgvector : sourçage strict et réduction des hallucinationsRAG with pgvector: strict sourcing and hallucination mitigation
Comment structurer l’indexation vectorielle dans PostgreSQL avec pgvector et contraindre les réponses du modèle génératif à des citations documentaires vérifiables.Structuring vector indexing in PostgreSQL with pgvector and strictly grounding generative model responses in verifiable document citations.
Orchestrer 6 agents autonomes avec LangGraph, DuckDB et PolarsOrchestrating 6 autonomous agents with LangGraph, DuckDB and Polars
Architecture d’un graphe d’états à 6 agents pour l’analyse de données : division des responsabilités, boucle d’audit croisée et exécution analytique en mémoire.Designing a 6-agent state graph for automated analytics: role decomposition, mutual critique loops, and fast in-memory execution with DuckDB and Polars.
Compromis entre détection et communication dans V2C-SentinelDetection and communication trade-offs in V2C-Sentinel
Quand la bande passante 5G est comptée : arbitrer mathématiquement entre le risque de faux négatifs locaux et l’épuisement du quota de requêtes vers le cloud.When 5G bandwidth is constrained: balancing local false-negative risks against cloud request quotas under variable latency distributions.
Retours d’expérience et collaboration sur Tadbir AILessons from collaborating on Tadbir AI
Coordonner une équipe de stagiaires autour d’un produit SaaS : standardisation des interfaces TypeScript/Django et conception de revues humaines pour l’IA.Leading an intern development team on business SaaS: standardizing TypeScript/Django API contracts and designing human-in-the-loop review interfaces.
Du modèle de churn à l’API de prédiction et surveillance de dériveFrom a churn model to a prediction API and drift monitoring
Pourquoi un notebook ne suffit pas : structurer l’inférence avec FastAPI, gérer la sérialisation des pipelines et surveiller la dérive avec KS et PSI.Why a notebook is only the first step: packaging inference endpoints with FastAPI, managing pipeline artifacts, and tracking drift with KS and PSI.
Curriculum Vitae — Synthèse 1 Page A4Curriculum Vitae — 1-Page Focused Resume
Conçu pour les recruteurs techniques et responsables d'équipe : une synthèse dense et lisible reliant modélisation IA, ingénierie logicielle et expérience concrète.Crafted for technical recruiters and engineering managers: a concise 1-page synthesis connecting AI modeling, software engineering and real-world execution.
Échangeons sur ce que nous pourrions construire.Let’s discuss what we could build.
Je recherche un stage de fin d’études (PFE) au Maroc de février / mars à juillet 2027 en IA appliquée, Data Science ou ingénierie logicielle. Si votre équipe recherche quelqu’un qui aime relier l’analyse à la réalisation, je serais ravie d’échanger sur vos projets et sur ma contribution.I’m seeking a final-year internship in Morocco in applied AI, data or software engineering. If your team is looking for someone who enjoys connecting analysis with implementation, I’d be happy to discuss your work and how I could contribute.
Disponibilité :Availability:Février / Mars à Juillet 2027February / March to July 2027
Recherche documentaire avec RAG et réponses sourcées · Comparaison de modèlesDocument retrieval with RAG and sourced answers · Model benchmarking
1. Vue d’ensemble (Overview)Overview
Recherche documentaire avec génération augmentée par recherche (RAG) et réponses sourcées ; comparaison de modèles prédictifs. FastAPI, Next.js, pgvector.Document retrieval with Retrieval-Augmented Generation (RAG) and sourced answers; predictive model benchmarking. FastAPI, Next.js, pgvector.
Architecture logicielle et développement complet : pipeline d’ingestion et de vectorisation des documents avec pgvector, API asynchrone FastAPI, interface utilisateur Next.js et banc d’évaluation comparatif des modèles de prédiction et de réponse.Full-stack architecture and engineering: document chunking and vector indexing pipeline using pgvector, asynchronous FastAPI backend, Next.js interface, and comparative model benchmarking.
3. Fonctionnement & Architecture (How It Works)How It Works
Les documents sont découpés en fragments sémantiques et transformés en embeddings vectoriels indexés dans PostgreSQL avec pgvector. Lors d’une requête, une recherche de similarité cosinus extrait les passages les plus pertinents et les fournit au modèle génératif pour synthétiser des réponses étayées par des citations de sources vérifiables.Technical documents are chunked and converted into high-dimensional embeddings stored in PostgreSQL with pgvector. A natural language query triggers cosine similarity search to retrieve grounded snippets, allowing the generative model to synthesize verified, source-cited responses.
Choix de PostgreSQL + pgvector pour regrouper les métadonnées relationnelles et les vecteurs au sein d’une même infrastructure transactionnelle sans complexité opérationnelle superflue, couplé à FastAPI pour le streaming temps réel.Selected PostgreSQL + pgvector to consolidate relational metadata and dense vectors in a unified database, combined with FastAPI for asynchronous streaming.
5. Évaluation & Mesures (Evaluation)Evaluation
Évaluation de la pertinence des extraits récupérés (Recall@k, MRR) et élimination des hallucinations factuelles grâce à une consigne stricte de sourçage obligatoire.Benchmarked retrieval fidelity (Recall@k, MRR) and verified source grounding to eliminate unverified hallucinations.
6. Limites identifiées (Limitations)Limitations
La précision dépend de la stratégie de segmentation des documents (chunking) et du comportement des embeddings face aux termes scientifiques hautement spécialisés.Performance is sensitive to document chunking granularity and domain vocabulary coverage in the embedding space.
L’ingénierie de la récupération (retrieval) et la qualité du nettoyage amont des données priment toujours sur la taille brute du modèle pour garantir des réponses exactes et fiables.Rigorous retrieval curation and clean document chunking contribute far more to reliability than raw LLM scale.
8. Explorer le projet & Code source (Explore Further)Explore Further
Accédez au dépôt officiel sur GitHub pour examiner le code source, l’architecture et les instructions d’exécution locale :Explore the official GitHub repository for source code, architecture specifications, and local execution guides:
Système collaboratif de 6 agents pour l’analyse de données et le reporting automatiséCollaborative 6-agent system for data analysis, verification and reporting
1. Vue d’ensemble (Overview)Overview
Conception d’un système de 6 agents pour analyser les données, vérifier les résultats et produire des graphiques et des rapports. LangGraph, DuckDB, Polars, Gemini.Design of a 6-agent system to analyze data, verify results, and generate charts and reports. LangGraph, DuckDB, Polars, Gemini.
Conception intégrale de l’architecture multi-agents sous LangGraph, formulation des rôles spécialisés, orchestration de l’état partagé et optimisation des calculs analytiques in-memory avec DuckDB et Polars.Designed and implemented the complete LangGraph multi-agent architecture, authored discrete agent prompt contracts, managed execution state persistence, and accelerated in-memory data operations with DuckDB and Polars.
3. Fonctionnement & Architecture (How It Works)How It Works
Six agents spécialisés collaborent selon un graphe d’états LangGraph : (1) Superviseur & Planificateur, (2) Ingestion & Profilage DuckDB, (3) Transformation Polars, (4) Validation Statistique, (5) Visualisation graphique, et (6) Rédacteur de Synthèse. Un sous-graphe de vérification audite les calculs avant toute génération de rapport.Six specialized agents collaborate across a stateful LangGraph workflow: (1) Supervisor/Planner, (2) DuckDB Ingestion & Profiler, (3) Polars Transformer, (4) Statistical Verification, (5) Chart Generator, and (6) Report Synthesizer. An auditing cycle verifies computations before delivering final documents.
Choix d’un graphe d’états déterministe avec points de contrôle sous LangGraph plutôt qu’une chaîne linéaire opaque, et association DuckDB + Polars pour exécuter des requêtes analytiques massives avec une empreinte mémoire minimale.Selected LangGraph for cycle-aware state transitions and safety checkpoints, paired with DuckDB and Polars for columnar speed without database overhead.
5. Évaluation & Mesures (Evaluation)Evaluation
Tests sur des séries de données réelles complexes avec anomalies injectées : la boucle d’auto-critique entre agents a permis de réduire drastiquement les erreurs de calcul par rapport aux agents solitaires.Evaluated against multi-table datasets with messy formats; the multi-agent critique loop eliminated mathematical hallucinations common in single-agent architectures.
6. Limites identifiées (Limitations)Limitations
Exige un bac à sable (sandboxing) strict pour l’exécution de scripts Python générés et un monitoring précis des quotas d’appels à l’API Gemini.Requires secure sandboxed runtime environments for dynamic Python code execution and careful rate limiting for Gemini API tokens.
La décomposition en rôles étroits et mutuellement vérifiables surpasse largement les approches à invite unique pour les tâches analytiques critiques.Specialized modular agents with explicit validation loops provide significantly greater analytical reliability than monolithic prompts.
8. Explorer le projet & Code source (Explore Further)Explore Further
Accédez au dépôt officiel sur GitHub pour examiner le code source, l’architecture et les instructions d’exécution locale :Explore the official GitHub repository for source code, architecture specifications, and local execution guides:
Prototype de recherche · Détection d’intrusions CAN & contraintes 5GResearch prototype · CAN intrusion detection under 5G constraints
1. Vue d’ensemble (Overview)Overview
Détection d’intrusions CAN (Controller Area Network) en simulation locale : requêtes de confirmation limitées et délais 5G rejoués. Python, régression logistique, forêt aléatoire.CAN (Controller Area Network) intrusion detection under local simulation: constrained confirmation requests and replayed 5G delays. Python, logistic regression, random forest.
Recherche et développement logiciel : conception de l’architecture à deux niveaux, extraction des caractéristiques temporelles des trames CAN, entraînement des modèles locaux et simulation des distributions de latence 5G.Research and software development: dual-tier architecture design, CAN frame feature extraction, training detection classifiers, and simulating 5G delay distributions.
3. Fonctionnement & Architecture (How It Works)How It Works
Un premier modèle local léger (régression logistique) surveille les flux CAN en temps réel avec une latence quasi nulle. En cas d’anomalie suspectée et si le budget de requêtes le permet, une trame est transmise à un modèle de confirmation plus lourd (Random Forest) via une simulation de latence 5G rejouée.A lightweight local warning model (logistic regression) inspects CAN frames in real time with near-zero latency. If an anomaly is flagged and the request budget allows, the sequence is forwarded to a deeper confirmation model (random forest) through replayed 5G latency distributions.
Adopter une approche hiérarchique pour concilier rapidité de réaction locale et économie de bande passante, plutôt que d’envoyer chaque trame dans le cloud ou de surcharger le microcontrôleur embarqué.Adopted a hierarchical tier to balance immediate on-vehicle reaction with constrained cloud bandwidth, rather than saturating the network or vehicle ECU.
5. Évaluation & Mesures (Evaluation)Evaluation
Simulation logicielle sur des enregistrements réels de trames CAN normales et injectées d’attaques. Mesure de la réduction des fausses alertes et du respect du quota de communication selon différents budgets imposés.Simulated across CAN logs containing normal traffic and injected attack patterns, quantifying false-alarm mitigation under varying query quotas.
6. Limites identifiées (Limitations)Limitations
Étude de cas réalisée par simulation logicielle locale. Aucun véhicule physique ni antenne 5G réelle n’a été utilisé ; les délais sont issus de distributions statistiques mesurées.Simulation-based study using recorded data and replayed network latency. Does not reflect hardware-in-the-loop vehicle deployment.
La sécurité automobile exige d’évaluer conjointement les métriques de machine learning (F1-score) et les contraintes cyber-physiques (délai de réaction, bande passante disponible).Automotive cybersecurity requires balancing classical ML metrics (accuracy, F1-score) with cyber-physical constraints such as ECU compute budgets and transmission latency.
8. Explorer le projet & Code source (Explore Further)Explore Further
Accédez au dépôt officiel sur GitHub pour examiner le code source, l’architecture et les instructions d’exécution locale :Explore the official GitHub repository for source code, architecture specifications, and local execution guides:
AI-assisted business software · Internship project
Tadbir AI
Logiciel de gestion métier assisté par l’IA · Projet de stageAI-assisted business software · Internship project
1. Vue d’ensemble (Overview)Overview
Tadbir AI est une plateforme web intégrée conçue pour centraliser et automatiser les processus administratifs essentiels d’une entreprise : facturation, suivi client, gestion des stocks et reporting analytique. Le système vise à réduire la saisie manuelle et les erreurs humaines en intégrant l’intelligence artificielle dans les flux documentaires quotidiens.Tadbir AI is an integrated business management platform developed to centralize and automate core administrative operations: invoicing, customer tracking, inventory and reporting. The goal was to reduce manual entry bottlenecks by embedding AI into everyday document workflows.
Stagiaire en ingénierie IA / logicielle et team leader au sein de l’équipe de développement. J’ai coordonné les points techniques de l’équipe, participé à la structuration du backend Django REST, et pris en charge l’intégration de l’extraction automatique de champs par l’API Gemini ainsi que la logique de validation des données importées depuis des feuilles de calcul.Team Leader and AI / Software Engineering Intern within the development team. I coordinated technical tasks, contributed to the Django REST backend, and spearheaded document-field extraction using Gemini alongside spreadsheet validation workflows.
3. Fonctionnement & Architecture (How It Works)How It Works
Le flux combine un frontend Next.js/TypeScript et une API Django REST. Lorsqu’un document (facture, reçu) est importé, un appel structuré extrait les champs clés (montants, dates, identifiants). Ces données passent par un module de vérification de cohérence métier avant d’être soumises à une interface de revue humaine (human-in-the-loop) qui valide l’enregistrement dans la base de données.The architecture pairs a Next.js/TypeScript client with a Django REST API. When an invoice or spreadsheet is uploaded, structured extraction parses key attributes (totals, line items, dates). Data passes through schema validation rules before surfacing in a human-in-the-loop review UI for final confirmation.
Choix d’une approche hybride "IA + validation humaine" plutôt qu’une automatisation opaque à 100%, garantissant la conformité comptable. Utilisation de Django REST pour la robustesse du modèle relationnel et d’un typage strict en TypeScript sur le frontend.Selected a human-in-the-loop paradigm over fully autonomous processing to maintain accounting precision. Chose Django REST for relational integrity and TypeScript for interface reliability.
5. Évaluation & Mesures (Evaluation)Evaluation
Tests fonctionnels menés sur des jeux de factures et tableaux types. L’extraction a permis de pré-remplir les formulaires en réduisant significativement le temps de saisie, tandis que la validation humaine a systématiquement intercepté les ambiguïtés de mise en page.Functional testing across standardized invoice layouts demonstrated substantial time savings in form completion, with human review catching irregular formatting edge cases.
6. Limites identifiées (Limitations)Limitations
La précision dépend fortement de la qualité de numérisation des documents d’entrée. Les documents manuscrits ou très dégradés nécessitent une correction manuelle complète.Extraction fidelity varies on low-resolution scans. Handwritten or highly unstructured documents require full manual entry.
L’importance de concevoir des interfaces d’édition simples pour les corrections humaines : un modèle d’IA n’a de valeur pratique en entreprise que si ses incertitudes sont faciles à inspecter et corriger par les utilisateurs.Designing frictionless fallback interfaces is just as vital as model accuracy: AI delivers business value only when review workflows are intuitive.
8. Explorer le projet & Code source (Explore Further)Explore Further
Accédez au dépôt officiel sur GitHub pour examiner le code source, l’architecture et les instructions d’exécution locale :Explore the official GitHub repository for source code, architecture specifications, and local execution guides:
Ce projet dépasse le cadre du notebook isolé pour construire un pipeline complet d’ingénierie machine learning autour du jeu de données IBM Telco Customer Churn, visant à identifier les clients à risque d’attrition.This project moves beyond an isolated notebook to construct an end-to-end MLOps pipeline on the IBM Telco Customer Churn dataset, predicting subscriber attrition risks.
Projet individuel mené de bout en bout : exploration des données, ingénierie des variables, entraînement et comparaison de modèles, suivi avec MLflow, conteneurisation Docker et mise en place de tests statistiques de dérive.Sole developer: data preparation, feature engineering, model benchmarking, MLflow tracking, Docker containerization, FastAPI endpoint development, and drift monitoring.
3. Fonctionnement & Architecture (How It Works)How It Works
Le pipeline s’appuie sur DVC pour versionner les données et les étapes. MLflow enregistre les hyperparamètres, métriques et artefacts de modèle. Le meilleur modèle est packagé dans une image Docker servant une API REST FastAPI (/predict). Un script de monitoring calcule les tests Kolmogorov-Smirnov (KS) et le Population Stability Index (PSI) sur les données entrantes.DVC versions datasets and pipeline stages. MLflow tracks hyperparameters, metrics and the model registry. The selected model is packaged into a Docker container serving FastAPI endpoints. Continuous monitoring scripts compute Kolmogorov-Smirnov (KS) tests and Population Stability Index (PSI) scores to detect distribution drift.
Choix de Scikit-learn pour la transparence des métriques et la rapidité d’inférence. Priorisation du rappel (recall) sur la précision pour maximiser la détection des départs clients, tout en contrôlant le coût des faux positifs.Prioritized recall over precision to catch high-churn risks while managing false-positive intervention costs. Selected FastAPI for lightweight asynchronous inference.
5. Évaluation & Mesures (Evaluation)Evaluation
Évaluation sur jeu de test indépendant avec courbes ROC-AUC et matrices de confusion. Les tests KS et PSI simulent des dérives artificielles pour vérifier le déclenchement des alertes de réentraînement.Benchmarked on a holdout split using ROC-AUC and confusion matrices. Simulated synthetic distribution shifts to confirm drift detection thresholds.
6. Limites identifiées (Limitations)Limitations
Exécution et tests réalisés en environnement local conteneurisé. Le déploiement cloud (AWS/GCP) est documenté dans le dépôt mais non maintenu en continu pour des raisons de coût.Validated in local Docker execution. Cloud deployment pipelines are documented but not maintained live to avoid idle hosting costs.
Le code de modélisation ne représente qu’une petite fraction du travail en MLOps : la reproductibilité des environnements et la surveillance continue des données sont les véritables garants de la pérennité d’un modèle.Model training code is only a fraction of the real-world challenge; reproducible environments, clean pipelines, and drift detection ensure true operational reliability.
8. Explorer le projet & Code source (Explore Further)Explore Further
Accédez au dépôt officiel sur GitHub pour examiner le code source, l’architecture et les instructions d’exécution locale :Explore the official GitHub repository for source code, architecture specifications, and local execution guides: