Portfolio
Production AI systems, data science, and compliance
Selected work
Veritas·RAG
Open-source platform to compare and evaluate RAG strategies on the same questions. 3 swappable strategies (classic, graph, agentic) on hybrid retrieval (dense + BM25, RRF fusion, cross-encoder rerank), a versioned LLM judge, deterministic retrieval metrics and regression detection. Evaluation exposed a reranker that was failing silently.
Automated Application Catalogue (Kabeen)
Internal application catalogue built from scratch as sole engineer: scraping and ETL, LLM classification and enrichment (GPT-4o), entity resolution grouping products under their vendor, a Neo4j knowledge graph, and a three-level anomaly detection engine with human validation. Contributed to the LangGraph agent platform: the web-scraping tool the agents call.
VIFACT
E-invoicing SaaS for the French reform, designed and built solo. Factur-X, UBL and CII invoices validated against the official EN 16931 rules (223 BR rules) before issue, fail-closed; LLM only for ambiguous cases, totals always recomputed server-side; hash-chained audit trail. Demo on request.
NER Travel Order
CamemBERT vs spaCy for named entity recognition in French travel orders (12,000 annotated sentences, BIO). spaCy chosen for production: a 17× lighter model, ~10 ms per sentence on CPU; CamemBERT better on ambiguous sentences.
School projects and prototypes
On-device image classifier
Image moderation prototype for a messaging app, trained on a proxy dataset (Food-101, 3 classes, 9,714 validation images). MobileNetV3Small, 93.1% macro F1, exported to TFLite in three quantised variants (1.24 / 1.96 / 3.89 MB).
Pneumonia detection (chest X-rays)
Classical models (Random Forest, KNN, SVM) compared with CNNs (EfficientNet, ResNet). 97% on validation but 74% on the official test set: the model caught every pneumonia and only 31% of normal X-rays. The lesson: don’t trust a validation metric.