Open to work — AI / Data Engineer (CDI) · Available now · Rabat · Casablanca · Remote

Hassan EL BAHRAOUI

Portrait of Hassan EL BAHRAOUI

AI Engineer and Data Scientist, ENSAM Rabat graduate. I design and ship production AI systems — RAG pipelines, multi-agent architectures and event-driven data platforms — from prototype to traceable, audited production.

Portrait of Hassan EL BAHRAOUI

About me

I am Hassan EL BAHRAOUI, an AI Engineer and Data Scientist who graduated from ENSAM Rabat in Digital Engineering for Data Science & AI.

My end-of-studies internship at NEOSYS was spent industrialising a multi-agent AI foundation for the BOARD platform: an event-driven microservices architecture on Kafka, a RAG pipeline on Qdrant, and an AI Gateway orchestrating 26 business agents across CRM, HR, project and finance domains — with full execution traceability and audit.

In parallel I built the data platform of Morocco's National Investment Observatory: a medallion architecture in PySpark and Delta Lake on Kubernetes, feeding 12 indicators and 5 forecasting models into around 20 Power BI dashboards.

I care about the parts that make AI actually survive production — observability, traceability, tests and governance — as much as about the models themselves. I am currently looking for my first permanent role (CDI) as an AI or Data Engineer.

6
Internships & contracts
26
AI agents shipped to production
70+
Public repositories
5
Years of engineering studies

Education

2023 – 2026 · Graduated

Engineering Degree — Digital Engineering in Data Science & AI

ENSAM Rabat, Morocco
Engineering curriculum in data science, artificial intelligence and big data: machine learning, deep learning, distributed processing, data engineering and software architecture.
2021 – 2023

Integrated Preparatory Years

ENSAM Rabat, Morocco
Intensive foundation in mathematics, physics and computer science.
2020 – 2021

Baccalaureate in Mathematical Sciences, Option A

Mohamed Jamal Adourra High School, Salé, Morocco
Where applied mathematics and computer science first clicked for me.

Professional Experience

AI Engineer — End-of-Studies Internship (PFE)

NEOSYS
Rabat, Morocco
Feb 2026 – Aug 2026
Designed and industrialised a reusable multi-agent AI foundation integrated into the BOARD platform, then built a national data platform on the same team.
  • Event-driven microservices architecture (Kafka), RAG pipeline (Qdrant, embeddings + structured chunking) and orchestration through an AI Gateway.
  • Delivered a catalogue of 26 business agents across 4 domains (CRM, HR, projects, finance) and a multi-format parsing pipeline (PDF, Word, PPT, Excel, OCR, audio), with full execution traceability and audit.
  • National Investment Observatory (MICEPP) data platform: medallion architecture in PySpark / Delta Lake on Kubernetes and HDFS — ~100 notebooks, 12 indicators and 5 forecasting models (ARIMA, VAR, ARDL, Prophet) across ~20 Power BI dashboards.
KafkaQdrantRAGPySparkDelta LakeKubernetesPower BI

Full-Stack AI Developer (Fixed-term)

SEED PARTNERS
Casablanca, Morocco
Sep 2025 – Oct 2025
Developed and maintained the website of the NextGen Manufacturing Africa Summit.
JavaScriptReactWeb

AI Systems Developer (Internship)

TUDIODEV
Rabat, Morocco
Jul 2025 – Sep 2025
Built an automatic invoice data extraction system combining OCR, vision-language models and LLMs, cutting manual data entry.
OCRVLMsLLMsPython

AI Engineer (Internship)

INTELLCAP
Rabat, Morocco
Jul 2025 – Aug 2025
Developed MedRAG, a multimodal RAG system for chest X-ray analysis and clinical decision support.
Multimodal RAGPyTorchMedical imaging

AI Engineer (Internship)

VnextIA
Casablanca, Morocco
May 2025 – Jun 2025
Designed a post-baccalaureate guidance chatbot for Moroccan students, combining an LLM with a domain knowledge base.
LLMKnowledge baseChatbot

Data Scientist / ML Engineer (Internship)

Ministry of Digital Transition and Administrative Reform
Rabat, Morocco
Jul 2024
Built a handwritten signature verification system using image processing and machine learning.
  • Implemented preprocessing and feature-extraction pipelines.
  • Trained, tuned and evaluated the classification models.
OpenCVscikit-learnImage processing

AI & Machine Learning Internship

CodeSoft
Remote
Feb 2025
A set of applied machine learning projects: movie-genre classification, fraud detection and customer churn prediction.
scikit-learnPandasNLP

Technical Skills

GenAI, LLMs & Agents

RAG LangChain LangGraph CrewAI Multi-agent systems AI agent orchestration MCP (Model Context Protocol) Embeddings Chunking Vector DBs (Qdrant, FAISS, ChromaDB) Fine-tuning (LoRA, QLoRA, PEFT) Prompt engineering Transformers Groq Whisper / ASR OCR

AI, ML & Deep Learning

NumPy Pandas scikit-learn TensorFlow PyTorch XGBoost LightGBM Optuna CNNs RNNs / LSTM GANs Time series (ARIMA, VAR, ARDL, Prophet) statsmodels Spark MLlib spaCy NLTK

Computer Vision

OpenCV YOLO Detectron2 Faster R-CNN ResNet VGG Vision-language models (VLMs)

Data Engineering & Big Data

Event-driven microservices Medallion architecture (Lakehouse) PySpark Delta Lake Apache Spark Kafka Hadoop / HDFS Hive HBase Sqoop Multi-format document parsing Talend

MLOps & AI Governance

Observability (structured logs, metrics, health/readiness) Execution traceability & audit Prompt versioning Model-agnostic architecture RBAC Data & AI governance MLflow Pytest (unit & integration) GitHub Actions (CI/CD)

Cloud & Infrastructure

Linux Docker Docker Compose Kubernetes AWS (EC2, S3, Lambda, SageMaker) MinIO / S3 Vercel Render

Programming & Web

Python C Java Scala TypeScript JavaScript R Matlab FastAPI Flask Django Pydantic React Streamlit Gradio HTML / CSS Git Web scraping (Requests, BeautifulSoup, Selenium)

Databases

PostgreSQL Oracle MySQL SQL Server SQLite MongoDB Neo4j Qdrant Supabase

Data Visualisation & BI

Power BI (DAX, Power Query) Tableau Google Looker Matplotlib Seaborn Plotly

Methodology & Tools

Agile / Scrum Azure DevOps Microsoft Graph API MSAL / OAuth Postman UML / Merise KNIME Conduktor

Languages

French — Fluent English — TOEFL iBT (B2) Arabic — Native

Projects

Brain Tumor Classification

Brain Tumor Classification

Medical AI • Deep Learning

MRI brain-tumor classifier using CNNs (ResNet50, VGG16, VGG19) reaching 98% accuracy, served through an interactive app.

TensorFlowStreamlitOpenCVDocker
DataCarelytics

DataCarelytics — Medical Analytics

Medical AI • Data Science

Modular medical diagnostic platform combining tabular, textual and image analysis with AI chatbots and retrieval-augmented generation.

PythonStreamlitPyTorchFAISS
Multi-Agent Debate System

Multi-Agent Debate System

GenAI • LLMs

LLM-based agents that debate a topic, fact-check each other's arguments and converge on a consensus.

PythonLLMsLangChainStreamlit
Real-Time Object Detection with Kafka and YOLO

Real-Time Object Detection with Kafka and YOLO

Computer Vision • Streaming

Streams images and video through Kafka, runs YOLO object detection on the consumer side and surfaces results in a Streamlit UI.

PythonKafkaYOLOOpenCVStreamlit
IntelliPath

IntelliPath — AI Learning Assistant

GenAI • Education

Generates personalised syllabi and quizzes with LLMs, behind an interactive interface with an integrated chatbot.

PythonFlaskReactLangChainGroq
MindSnacks

MindSnacks — Audio Learning Snippets

GenAI • Education

AI-generated five-minute audio learning snippets with multilingual support. Built for the MIT Global AI Hackathon.

PythonStreamlitGroqElevenLabs
Handwritten digit generator with a GAN

Handwritten Digit Generator (GAN)

Deep Learning • GAN

A generative adversarial network in PyTorch that produces realistic handwritten digits from the MNIST dataset.

PyTorchGANMNIST

See all 70+ repositories on GitHub

Certifications

Contact me

Let's stay in touch

I am looking for my first permanent role (CDI) as an AI or Data Engineer, in Rabat, Casablanca or remote. Reach out about openings, freelance work, or just to talk about RAG and agent architectures.

Location

Rabat, Morocco — open to Casablanca and remote

Send me a message

This opens your email client with the message pre-filled. Prefer to write directly? Use the address above.