Senior AI & Data Science Expert at AcademicTransfer
PhD in Explainable NLP — Utrecht University, 2026
Production LLM & ranking systems · LLM evaluation & explainability research
Industry — AcademicTransfer. I lead AI and data-science work across CV–vacancy matching and ranking, LLM content optimisation, recruiter analytics, and end-to-end ML tooling for the two-sided Dutch academic-jobs marketplace (22 research universities and university medical centres).
Research — Utrecht University. My doctoral thesis develops explainable NLP across the full LLM life cycle, from token-level SHAP analysis to cross-cultural moral-alignment evaluation of LLMs. Recent work centers on LLM evaluation: LLM-as-judge frameworks (EvalMORAAL) and preference optimization under annotator disagreement (RA-DPO, MAP-PO).
I work where engineering rigor meets explainability research — shipping models that deliver in production and expose why they make each decision.
Utrecht University, 2026
A six-chapter empirical thesis on explainability across the full LLM life cycle: a survey of XAI for NLP, a transparent BERT pipeline for online sexism detection, SHAP-driven probing of AI-text-detector robustness, content-vs-demographic explanations for LLM annotators, cross-cultural moral-alignment evaluation of 26 LLMs against the World Values Survey and PEW, and the EvalMORAAL chain-of-thought-plus-LLM-as-judge framework benchmarking 20 LLMs across 64 countries.
Each chapter has a paper and a public companion repository with citation metadata and a tagged release.
| # | Paper | Venue | Links |
|---|---|---|---|
| 1 | Explainability in Practice: A Survey of Explainable NLP Across Various Domains | under review | arXiv · code |
| 2 | A Transparent Pipeline for Identifying Sexism in Social Media: Combining Explainability with Model Prediction | Applied Sciences, 2024 | doi · code |
| 3 | Explainability-Based Token Replacement on LLM-Generated Text | arXiv, 2025 | arXiv · code |
| 4 | Assessing the Reliability of LLM Annotations in the Context of Demographic Bias and Model Explanation | GeBNLP @ ACL 2025 | doi · page · code |
| 5 | Exploring Cultural Variations in Moral Judgments with Large Language Models | CLIN Journal 15, 2026 | journal · arXiv · code |
| 6 | EvalMORAAL: Interpretable Chain-of-Thought and LLM-as-Judge Evaluation for Moral Alignment in Large Language Models | *SEM 2026 | paper · arXiv · code |
Full publication list on mohammadi.cv and Google Scholar.
LLM and ML systems serving the Dutch academic job market, end to end: data pipelines, model serving, monitoring, and recruiter-facing tools.
- Semantic CV-to-vacancy matching and LLM-assisted priority ranking of applicants, evaluated with A/B tests, uplift analysis, and bandit simulations
- LLM-based job-description optimisation and vacancy-text rewriting (OpenAI API)
- Recruiter analytics and model-monitoring dashboards
- CRM and workflow automation for recruitment teams
Internal repositories at @academictransfer (private; access on request):
| Repository | What it does |
|---|---|
at-ai |
Core AI/NLP services behind CV ranking and job-description optimisation |
at-cv-matcher |
Semantic CV-to-vacancy matching service |
at-cv-sorter |
Production CV priority-sorting pipeline |
at-vacature-rewriter |
LLM-based vacancy-text rewriting for recruiters |
at-concept-extractor |
Concept extraction from CVs and job descriptions |
at-dashboard |
Internal analytics and ML-monitoring dashboard |
at-crm |
CRM and ML integration for recruiter workflows |
at-elearning |
Recruiter training and onboarding platform |
As Head of Data Science & BI I built the operations-intelligence layer for a city-scale bike-sharing fleet: bicycle-transportation-intelligence — a Streamlit dashboard on live Oracle fleet data, with GeoPandas geofencing and H3 spatial indexing plus folium maps to plan rebalancing and collection.
Earlier: Senior Data Scientist at SnowaTec (2021–2023) — details on mohammadi.cv.
The evaluation libraries are one line of work rather than a collection. Each takes a single way evaluation goes wrong — a judge with a position bias, a label set nobody checked, a leaderboard read past its own confidence intervals, an experiment called too early — and makes it measurable, with the headline finding stated as a number instead of a claim. evalstack is the map of all eleven: what each measures, what it found, and the two chains that run end to end.
- EvalMORAAL — chain-of-thought plus LLM-as-judge evaluation of moral alignment, benchmarking 20 LLMs across 64 countries against the World Values Survey and PEW (*SEM 2026).
- trajectory-judge — how much an LLM judge misses when an agent reaches the right answer the wrong way: a tool-using environment with injected faults, five judge designs compared on detection, step localisation, calibration and cost.
- judgekit — bias probes for LLM judges, each with a bootstrap confidence interval: position, verbosity, self-preference and calibration, where qwen2.5:14b picks whichever answer is shown first 77% of the time.
- judgepanel — estimate how accurate your judges are without any gold labels: Dawid–Skene EM over the disagreement pattern alone, which exposes a flag-everything judge exactly (estimated specificity 0.000).
- abkit — sample-ratio mismatch, peeking, multiple testing and winner's-curse checks for experiment readouts, applied to 4,873 real Upworthy tests where 16% fail the sample-ratio check.
- spark-search-ranking — counterfactual learning-to-rank for marketplace search logs in PySpark: position-bias estimation, IPS-weighted training, NDCG evaluation with a full test suite.
- rankkit — ranking metrics with error bars, and click metrics that survive position bias: on the bundled example, counting raw clicks rejects a ranker that is genuinely better and correcting for position reverses the verdict.
- dynamic-pricing-dashboard — dynamic-pricing simulator with Thompson sampling demand learning and forward-looking customers, running fully in the browser via WebAssembly (live demo).
- awesome-explainable-nlp — 145 papers, tools, datasets, tutorials and venues on explainability for NLP and LLMs, with weekly automated link checking. Contributions welcome.
The other six evaluation libraries — raterkit, retainkit, calikit, abeval, arenakit and judgewatch — are described in evalstack.
Also maintained: MAP-PO and RA-DPO (preference optimization under annotator disagreement), explainkit (explainability audits), ml-foundations · modern-ai-engineering (from-scratch ML and production LLM notes), and guides to ML learning paths, European summer schools and Dutch AI master's programmes.
Elsewhere: FBB Sustainability Analysis — an environmental-impact analysis CLI on a Dutch firm panel, built for the Firmbackbone research infrastructure.
Everything else is in the repositories tab.
| Languages | Python · R · SQL · Bash · LaTeX |
| ML / DL | PyTorch · TensorFlow · scikit-learn · XGBoost · Keras |
| LLMs & NLP | Hugging Face Transformers · OpenAI API · LangChain · spaCy |
| Explainability | SHAP · LIME · Captum |
| Data engineering | pandas · NumPy · Polars · DuckDB · Spark · PostgreSQL |
| MLOps | Docker · Kubernetes · GitHub Actions · MLflow · Weights & Biases |
| Cloud & HPC | AWS · Google Cloud · Azure · SURF Snellius |
| Serving & viz | FastAPI · Flask · Streamlit · Plotly · Matplotlib |
Open to applied AI roles and consulting in NL / EU, and to research collaboration on explainability, LLM evaluation, and cultural alignment.
mohammadi.cv · LinkedIn · ORCID · [email protected]






