Models I've shipped

Six I'd walk you through in an interview. Every number below comes from an actual eval run.

Research · UM6P2026

Geoheritage Accessibility

Predict which of Morocco's geosites are physically reachable, and flag ones nobody has catalogued yet.

DATA
1,662 labeled sites · 12 regions · DEM, WorldCover, OSM
EVAL
Spatially-clustered CV + McNemar, 4 model families
STACK
scikit-learn · XGBoost · Copernicus DEM · OSM
78.6%nat. accuracy
0.956AUC discovery
Research · UM6P2026

Cr(VI) Adsorption

Predict how much chromium(VI) iron-grafted biochar removes, from experiments scattered across the literature.

DATA
205 experiments · 15 studies
EVAL
Leave-one-study-out, nested HPO, 8 models; unseen material held out
STACK
scikit-learn · Optuna · HP Z8 (RTX A5000)
R² 0.893external val.
LLM fine-tuning2026

MoroccoTone

Teach an open LLM to speak Darija the way Moroccans actually do, switching to French mid-sentence.

DATA
55,140 Darija–French code-switching examples
METHOD
4-bit QLoRA on Qwen2.5-7B (Unsloth)
SHIPPED
Adapter + dataset on Hugging Face
0.804→0.590val loss
Publication · arXiv2025

FSC-Net

Neural networks forget old tasks when they learn new ones. A fast/slow dual network fixes part of that.

BENCH
Split-CIFAR-10, Split-MNIST
EVAL
Multi-seed runs with significance testing
PAPER
arXiv:2511.11707
+8.20ppretention
Production ML · team of 52025-2026

DeRent5 Pricing

Suggest a fair nightly price for listings on a blockchain rental platform, and score how risky each booking is.

MODEL
Random Forest + heuristic risk scoring
SERVING
Microservice, monitored with Prometheus/Grafana
84.59MAE (MAD)
<50mslatency
ML platform2026

PRISM

From zero data to “what are the top products this week?”: scraping, ranking, and an LLM you can ask.

DATA
1,757 products scraped from 8 stores
PIPELINE
9 typed Kubeflow components
SERVING
FastAPI + LLM chat over DuckDB
1,757products
9components

Everything else