End-to-end ML from data to deployment: credit, fraud and AML, time series, and agent-based systems with harnesses, RAG and fine-tuning. Calibration, reproducible evaluation and leakage control as constraints, not afterthoughts. Six public systems, real numbers.
I treat ML problems as systems problems first. A model that can't be reproduced or re-deployed is a liability. My workflow enforces clean separation between ingestion, feature computation, training, and evaluation, by structure rather than convention. In finance that discipline is what makes a system auditable.
Trained and worked as a Systems Technician (ASIR). What drew me most to the field was databases: schema design, query writing, index tuning and execution plan analysis. That background shapes how I think about every ML system: infrastructure, environment isolation, and failure modes before model architecture.
I design pipelines that don't break when schemas change, models that return calibrated probabilities rather than raw scores, and evaluation setups that catch leakage before it reaches production. I know the difference between a metric that looks good and a decision that holds up out-of-sample.
I'm passionate about data inside and outside work. I love learning, taking on challenges and getting better at what I do. My professional aspiration is to build decision systems that real institutions trust, in credit, fraud and investment, while keeping every project better than the last.
Production-grade Data Science project scaffold with an AI harness: reproducible environments, verified backlog, and a quality gate enforced in code.
Early-warning system for heat and cold mortality risk across Spanish provinces: XGBoost + LSTM ensemble, conformal prediction, MLflow, Telegram bot.
Fraud detection on financial transactions (PaySim): imbalance-first evaluation, precision-recall as the primary metric, threshold tuning, MLflow tracked.
Retail banking propensity model (UCI Bank Marketing) with leakage-free preprocessing and real persisted metrics: ROC-AUC 0.948, PR-AUC 0.651.
Time-series classification with strict temporal validation, out-of-sample backtest with costs, and drift monitoring. Honest about where the model fails.
Agent harness: 24 Python agents, a permission gate, and a verified backlog. The rules of AI-assisted work written in code, not in prompts.