- MLOPS
- FASTAPI
- DOCKER
- MONITORING
- +1
Credit Risk Platform

Plataforma MLOps de scoring de crédito de punta a punta: entrenamiento reproducible con registro de modelos versionado, API de inferencia en FastAPI con validación de entrada, monitorización de drift por PSI y observabilidad con Prometheus y Grafana, todo dockerizado y con CI. Código en github.com/delcenjo/credit-risk-platform.
Quería aprender la parte de ML que los cursos casi nunca enseñan: qué pasa con el modelo después de entrenarlo. Esta plataforma entrena y versiona un modelo de riesgo de crédito, lo sirve detrás de una API validada y vigila el drift del tráfico real, con toda la infraestructura para levantarla en local con un docker-compose.
- ROC-AUC0.78
- Umbral por coste0.14
- DriftPSI + Grafana
El modelo es la parte fácil
El clasificador ronda 0,78 de ROC-AUC, y ese no es el punto del proyecto. El punto es todo lo demás: el entrenamiento compara candidatos por validación cruzada, calibra al ganador, elige el umbral de decisión por coste (0,14, no el 0,5 por defecto) y registra cada versión con sus métricas, hiperparámetros y el hash de los datos.
Una API que no acepta basura
La API de FastAPI valida cada entrada con esquemas de Pydantic: un campo fuera de rango devuelve un 422 claro en lugar de un score silenciosamente mal. Cada respuesta incluye la probabilidad, la decisión (approve/decline) y la versión exacta del modelo que la produjo.
Enterarse antes de que se rompa
Un perfil de referencia de los datos de entrenamiento y métricas de Population Stability Index sobre el tráfico real, expuestas a Prometheus y visualizadas en Grafana junto a la latencia y la distribución de scores. Si los datos cambian, la métrica de drift lo dice antes de que las predicciones empiecen a fallar en silencio.


Cuaderno interactivo
Corre Python de verdad en tu navegador vía Pyodide (WebAssembly), sin servidor detrás: la primera carga tarda unos segundos en arrancar el intérprete, y después cada celda se puede volver a ejecutar.
Perfilado de datos columna a columna antes de modelar
Cuaderno de Jupyter ejecutable: Python de verdad corriendo en tu navegador vía Pyodide, sin servidor detrás.
Próximos proyectos:

Transformer from scratch
Modelo de lenguaje tipo GPT implementado desde cero en PyTorch: atención multi-cabeza, máscara causal y bloques residuales escritos a mano, más un tokenizador byte-pair propio y un estudio de ablaciones. Código en github.com/delcenjo/transformer-from-scratch.

Esta misma web
Este porfolio está construido a mano con Next.js y desplegado en Cloudflare Workers, con un laboratorio de modelos que corre entero en el navegador y despliegue continuo en cada commit. Código en github.com/jmweb-org/jmweb-pag-web.