Skip to main content
Available for freelance & full-timeAI · RAG · Agentic systems

I build RAG and multi-agent systems that run in production.

I work on RAG architecture, LangGraph agent orchestration, and the GCP infrastructure under both. My graduation project runs inside OCP Group. I am currently building a hybrid-RAG platform on GCP for a client.

1st
Class rank at ENSAM Casablanca, certified
OCP
RAG platform in internal production at OCP Group
<300ms
p95 on a live delivery eligibility engine
6
Freelance clients delivered end to end

What I do

Most of my work is retrieval design. How documents get decomposed, indexed, retrieved and reranked decides whether a model answers reliably over a corpus it never saw in training.

On top of that I build the agent orchestration in LangGraph, with error recovery and human validation checkpoints. Underneath, the GCP infrastructure that runs it: Terraform, Cloud Run, Cloud SQL, Vertex AI.

I work freelance and solo, so I also scope the engagement, price it, and renegotiate when the spec moves.

Flagship case study

OCP SolutionsLive

Groupe OCP subsidiary. Graduation project, defended 22 June 2026.

A multi-agent platform that writes documentary-analysis reports

Role
Agentic AI Engineer
Period
March – August 2026

Problem

Analysts wrote documentary-analysis reports by hand from large, mixed-format internal corpora. A naive RAG pass over that material returns plausible text with no traceable grounding, which is useless for a report someone has to sign.

Approach

LangGraph orchestration behind FastAPI, with a React supervision UI over WebSocket. Retrieval indexes extracted facts, questions and atomic facts rather than raw chunks, in Milvus with Qwen Embedding 4B, retrieved by bi-encoder and reranked with BAAI/bge-reranker-v2-m3.

Outcome

Deployed on OCP servers and used internally by the group. Supervisors: Pr. Samih Lazaiz (ENSAM), M. Mohammed Zouai (OCP).

Pipeline

  1. 01

    Ingest

    Multimodal internal documents

  2. 02

    Decompose

    Facts, questions and atomic facts, not raw chunks

  3. 03

    Index

    Milvus, Qwen Embedding 4B

  4. 04

    Retrieve

    Bi-encoder over the decomposed index

  5. 05

    Rerank

    BAAI/bge-reranker-v2-m3

  6. 06

    Orchestrate

    LangGraph agent graph with error recovery

  7. 07

    Validate

    Human checkpoints inside the graph

  8. 08

    Stream

    WebSocket updates to the React UI

Key decisions

Atomic facts, not chunks

Chunking by token window splits a claim from its context. Indexing extracted facts gives the retriever units that stand on their own, so a generated report traces back to a source.

Reranking as its own hop

The bi-encoder is fast and favours recall. The cross-encoder reranker is slow and favours precision. Two stages avoid compromising on a single similarity threshold.

Checkpoints inside the graph

Validation at the end of a pipeline only reports that a run was wrong. As nodes inside the graph, checkpoints stop a bad intermediate state before it reaches the rest of the report.

Stack

  • LangGraph
  • FastAPI
  • Milvus
  • Qwen Embedding 4B
  • bge-reranker-v2-m3
  • React
  • WebSocket
  • Python

Currently building

SeementIn development

fca-agentic-outlook

A hybrid-RAG platform on GCP, provisioned in Terraform

Cloud / AI Infrastructure Engineer, freelance

I own the GCP resource stack for an agentic RAG platform, plus part of the retrieval strategy. The engagement is active.

Stack

  • Terraform
  • GCP
  • Vertex AI RAG Engine
  • pgvector
  • Cloud Run
  • Cloud SQL
  • GitLab CI
  • Workload Identity Federation
  1. Hybrid retrieval: Vertex AI RAG Engine + pgvector

    In development

    Vertex AI RAG Engine does strong semantic search over a large corpus, but its native filtering and metadata search are limited. pgvector handles the filtered queries. Combining both beats either alone.

  2. The whole GCP stack as Terraform

    In development

    Cloud Run, Vertex AI RAG Engine, Cloud SQL and storage buckets, defined as code and applied from GitLab CI. The environment is reproducible instead of clicked together in a console.

  3. CI auth without service-account keys

    Delivered

    GitLab CI authenticates to GCP through Workload Identity Federation instead of a long-lived JSON key. Nothing secret sits in the repository or the CI variables.

  4. Private Cloud SQL through impersonation

    Delivered

    The Auth Proxy reaches a private Cloud SQL instance by impersonating a service account, so no developer account gets direct database access.

Case studies

Selected work

Four client engagements.

Problem

A pre-launch logistics startup had to know whether a two-hour slot could be honoured before promising it. Three systems each hold part of the answer and none agree by default.

Approach

An eligibility engine answering under 300ms at p95, with atomic stock reservation and weighted hourly capacity, on an append-only event journal with periodic cross-system reconciliation. Three production APIs: Shopify Admin/GraphQL over OAuth client credentials, Odoo XML-RPC, and Onfleet REST plus webhooks with HMAC verification.

Outcome

I negotiated the two-phase proposal (36 days, €2,650) from a 15+ page spec, pricing the gaps between stated scope and actual requirements. Also set up VPS deployment, Git CI/CD and secrets management.

Stack
  • Event sourcing
  • Shopify GraphQL
  • Odoo XML-RPC
  • Onfleet
  • HMAC
  • VPS

Freelance engineer, 36 days in two phases

Timeline

Experience

Some roles run concurrently: freelance work overlaps with employment.

  1. Cloud / AI Infrastructure Engineer

    Seement

    2026, ongoingFreelance

    Provisioning the GCP stack for an agentic RAG platform in Terraform: Cloud Run, Vertex AI RAG Engine, Cloud SQL, storage buckets, authenticated through Workload Identity Federation and wired into GitLab CI. I also own part of the retrieval strategy, a hybrid design pairing Vertex AI RAG Engine with pgvector for filtered queries.

    Stack

    • Terraform
    • GCP
    • Vertex AI
    • pgvector
    • GitLab CI
    • WIF
  2. Agentic AI Engineer

    OCP Solutions

    March – August 2026Graduation project

    Built a multi-agent platform that automates documentary-analysis report generation over a multimodal RAG architecture, deployed on OCP servers and used internally by the group. LangGraph orchestration behind FastAPI, React supervision UI over WebSocket, retrieval on atomic-fact decomposition indexed in Milvus.

    Stack

    • LangGraph
    • FastAPI
    • Milvus
    • React
    • WebSocket
  3. Prospecting automation engineer

    Pierron Olivier

    July 2026Freelance, solo

    Built a prospecting system for a craft brewery across HubSpot and Lemlist, on two pipelines. A Python orchestrator runs cross-source web research, deduplicates, and scores prospects A+ to D before hand-off. Also set up Lemlist sequences and email deliverability.

    Stack

    • Python
    • HubSpot
    • Lemlist
    • Lead scoring
  4. Freelance engineer

    DITOCO

    2026, 36 daysFreelance

    Built a two-hour delivery test bench for a pre-launch logistics startup, orchestrating Shopify, Odoo and Onfleet around an eligibility engine under 300ms at p95 and an event-sourced journal. Negotiated the two-phase proposal from a 15+ page spec.

    Stack

    • Event sourcing
    • Shopify
    • Odoo
    • Onfleet
    • VPS
  5. Freelance engineer

    Maroc Réforme

    2026Freelance, in development

    Rebuilding a B2B salvage-vehicle auction platform for Moroccan insurers, connecting expert assessors, insurers and scrap dealers. Four-tier roles, strict validation workflow, dossier frozen once an auction opens, and a custom auction engine enforced server-side with row-level locking.

    Stack

    • Next.js
    • Spring Boot
    • PostgreSQL
    • WebSocket
  6. Automation Engineer

    Top Negoce

    February 2026Internship

    Automated invoice extraction and analysis on a locally-deployed n8n instance, feeding a dashboard that supports board decisions and flags entities engaged in fraud.

    Stack

    • n8n
    • Python
    • Dashboarding
  7. Automation & Systems Engineer

    Formafast Consulting

    September 2025 – June 2026Part-time

    The broadest role here: software, automation, data engineering and infrastructure. Refactored and deployed 10+ client sites, configured Postfix and SMTP relay for an internal mailer, built FormaFastScraper for contact enrichment, and a daily marketplace scraping pipeline on Spark. Also Linux administration, SSL/TLS and incident response, including a ransomware incident on a test database.

    Stack

    • FastAPI
    • Apache Spark
    • Selenium
    • spaCy
    • Linux
    • Postfix
  8. Technical Lead

    FINANCIANA

    June – September 2025Freelance

    Financial analysis platform for studying financial health by instrument, axis and theme, with sector benchmarking and generated Word reports. The hard parts were a formula interpreter per instrument, currency detection and unification, and value extraction from balance sheets.

    Stack

    • Next.js
    • Laravel
    • Python
    • OCR
    • MySQL
  9. Technical Lead

    EHC → Recruite

    June – November 2025Internship → freelance

    Full-stack recruitment platform covering applications, assessments and interviews. I led the technical vision, coordinated the dev team and bridged client and team. Role-based access, real-time analytics, CV building and interview prep. Deployed on a VPS with Nginx and Certbot.

    Stack

    • React TS
    • Spring Boot
    • MySQL
    • Quartz
    • WebSockets
  10. Software Development Intern

    Numeric Way

    June – August 2024Internship

    Built KanBanPro, a Jira-style project management platform with Kanban boards, real-time collaboration and chat over WebSockets, and multi-user management per project.

    Stack

    • Express.js
    • React
    • WebSockets
    • Material UI

Archive

Project archive

Personal, academic and side work.

FastDev

10/2025 – 12/2025

Generates, tests and deploys full-stack projects from a natural-language description, using Gemini and the Model Context Protocol. Two-stage test/production pipeline with manual validation.

  • Gemini API
  • MCP
  • Spring Boot
  • Java 21
  • React
  • Keycloak
  • Docker
  • Loki

AutoGradeAI

Automated exam grading. Tesseract pulls text off scanned papers, an LLM generates the model answer, and sentence-transformer similarity scores the student. Presented at ENSAM Casablanca's AGIOS day.

  • Tesseract OCR
  • OpenAI API
  • Sentence Transformers
  • Python

Recruite, recruitment platform

06/2025 – 11/2025

Recruitment workflow from application to interview: automated assessments, role-based access for candidate, recruiter and admin, real-time KPIs, CV building and interview prep.

  • React TS
  • Spring Boot
  • MySQL
  • WebSockets
  • Quartz
  • JWT
  • Nginx

Financiana, financial analysis platform

06/2025 – 09/2025

Per-instrument formula interpretation, currency unification, balance-sheet extraction and generated Word reports. Full case study above.

  • Next.js
  • Laravel
  • Python
  • OCR
  • MySQL

ArtiShare, article sharing platform

A Medium-style publishing platform built in two weeks with a classmate. Next.js front end, Laravel back end for auth, REST APIs and article management.

  • Next.js
  • TypeScript
  • Laravel
  • MySQL

RAG-Engine

07/2025 – 08/2025

Builds a knowledge base from a whole website: recursive multi-page scraping with JS rendering, hybrid semantic and TF-IDF ranking, FAISS search, and an MCP server so an agent can query it.

  • Python
  • OpenAI API
  • FAISS
  • Sentence Transformers
  • Playwright
  • MCP

OCR model for long text sequences

11/2024 – 02/2025

A CNN-LSTM model on a ResNet50 backbone, built around the CTC-loss alignment problem on long sequences. Notebook published on Kaggle.

  • PyTorch
  • CNN-LSTM
  • CTC Loss
  • ResNet50

FaceAttendance.AI

03/2025 – 06/2025

Classroom attendance by facial recognition, with Redis caching so it stays usable when a whole class arrives at once.

  • Django
  • face_recognition
  • Redis
  • Next.js
  • Docker

Microservices e-commerce platform

Auth, order, product, payment and file services, each with its own PostgreSQL, behind a JWT API gateway. Event-driven over RabbitMQ and Kafka, on Kubernetes after migrating off Docker Compose.

  • Kubernetes
  • Kafka
  • RabbitMQ
  • PostgreSQL
  • Prometheus
  • Grafana
  • ELK

Rehabilitation management app

A CMS for rehabilitation agencies. Patients manage their own exercise routines, and an initial assessment tailors the programme by condition and age. Built after my own scoliosis rehab.

  • React
  • TypeScript
  • Express
  • Prisma
  • MySQL

Web sales analytics pipeline

A daily Airflow pipeline that scrapes 1,000+ products, cleans and validates them, and loads PostgreSQL, with a Streamlit dashboard for price and discount tracking. CI/CD on GitHub Actions with pytest.

  • Apache Airflow
  • BeautifulSoup
  • PostgreSQL
  • Streamlit
  • Docker
  • pytest

FormaFastScraper, contact enrichment

Resolves full identity and contact data from a name alone. Anti-bot work throughout: Selenium migrated to nodriver, human-like delays, automatic pause on captcha. spaCy NER for extraction, geocoding for location.

  • FastAPI
  • React
  • nodriver
  • spaCy
  • MySQL
  • Geocoding

Marketplace scraping pipeline on Spark

A daily Apache Spark pipeline that scrapes marketplace listings, then cleans and reorganises the data before loading a remote MySQL instance.

  • Apache Spark
  • Python
  • MySQL

Invoice extraction and fraud flagging

A locally-deployed n8n instance that automates invoice extraction and analysis, feeding a dashboard that supports board decisions and flags entities engaged in fraud.

  • n8n
  • Python
  • Dashboarding

Toolset

Stack

Tools with real project work behind them.

Agentic & LLM

  • LangGraph
  • LangChain
  • OpenAI API
  • Google Gemini API
  • Model Context Protocol
  • Prompt engineering

Retrieval & vector

  • Hybrid RAG design
  • Vertex AI RAG Engine
  • Milvus
  • pgvector
  • FAISS
  • Qwen Embedding 4B
  • bge-reranker-v2-m3
  • Sentence Transformers

Cloud & infrastructure

  • Terraform
  • GCP (Cloud Run, Cloud SQL, GCS)
  • Workload Identity Federation
  • Docker
  • Kubernetes
  • GitLab CI
  • GitHub Actions
  • Linux
  • Nginx
  • Keycloak

Backend & APIs

  • Python
  • FastAPI
  • Java
  • Spring Boot
  • Spring Security / JWT
  • Node.js / Express
  • Django
  • Laravel
  • PostgreSQL
  • MySQL
  • MongoDB
  • WebSockets
  • Event sourcing

Data engineering

  • Apache Airflow
  • Apache Spark
  • n8n
  • Selenium / nodriver
  • Playwright
  • BeautifulSoup
  • spaCy NER
  • ETL design

Observability & quality

  • Grafana
  • Prometheus
  • Loki
  • Promtail
  • ELK
  • pytest

Frontend

  • React
  • Next.js
  • TypeScript
  • Tailwind CSS
  • Angular

Background

Education & recognition

ENSAM Casablanca

École Nationale Supérieure d'Arts et Métiers

Engineering degree, Artificial Intelligence & Software Engineering

2021 – 2026

Ranked 1st in the graduating class. Graduation project defended 22 June 2026 at OCP Solutions.

DataCamp

Data Science & Data Analyst career tracks

Certified coursework: regression, classification, statistical inference

Certification

Listed as coursework, not applied production ML.

Recognition

  • Ranked 1st of the graduating class at ENSAM Casablanca, certified
  • Graduation project deployed a RAG system now used internally by OCP Group
  • Presented AutoGradeAI at ENSAM Casablanca's AGIOS day
  • Technical Lead on several freelance engagements, client-facing