Desarrollador full stack AI-native · Tarragona · Remoto
Sistemas a medida, de la necesidad a producción.
Para lo que las soluciones estándar no acaban de cubrir.
Este portfolio también es un sistema a medida de una necesidad concreta: que todo lo que afirma esté contrastado con el trabajo real. Cada capacidad enlaza con los proyectos y las evidencias que la respaldan.
El sistema donde una compañía fitosanitaria registra, valida, analiza y publica sus ensayos de campo: estadística dentro del flujo, analítica del contenido para decidir, y una API pensada para que un agente de IA consulte los ensayos y ayude a cargarlos con una persona al mando.
Dirigí el área digital de una empresa del sector fitosanitario y construí su plataforma: ocho aplicaciones web y una app móvil, independientes entre sí, con una identidad corporativa, una base técnica y unas reglas comunes. La tesis que lo ordenaba: primero estructurar el conocimiento del negocio; las aplicaciones, encima.
Web pública y gestor de contenidos hechos a la medida de un ayuntamiento pequeño: sus obligaciones de transparencia y publicidad activa, sus servicios y su vida local, gestionados por el propio ayuntamiento sin departamento de informática.
Un asistente al que una familia le habla como a una persona —por la web, Telegram, el correo o un cliente MCP— y que organiza la agenda, las tareas, la compra y lo que hay que recordar. Entiende fotos, PDF y notas de voz.
Un sistema de información para el cepario: identidad y linaje de cada cepa, sus existencias y su ubicación física, el trabajo diario del laboratorio y la actividad biológica que la respalda, con trazabilidad de todo lo que pasa.
Un proyecto de I+D para avisar al agricultor del riesgo de botritis en fresa y de cuándo tratar. Me incorporé con el proyecto en marcha: diseñé los conjuntos de datos y las variables agroclimáticas, construí el servicio que las calcula igual para entrenar que para predecir, diseñé la lógica de los avisos, y al final saqué los modelos de una plataforma gestionada para que dejaran de costar.
La segunda generación de Ajuntaweb: un CMS propio en el que el personal de un ayuntamiento publica sin aprender una herramienta, con un solo código desplegado de forma aislada para cada municipio y el cumplimiento normativo diseñado desde el principio.
La web que estás leyendo: un sistema de información sobre un desarrollador en el que cada afirmación enlaza con su evidencia. El contenido, un contrato OpenAPI común, una API en Node y una web en React renderizada en servidor, desplegadas en contenedores.
Un cambio que "debería dar lo mismo" no da lo mismo hasta que algo lo comprueba. Cada vez que he movido algo de sitio he dejado detrás el verificador, no la intención.
Soy ingeniero agrícola, dirigí dos empresas y fui formador durante años. Antes de construir software, fui quien lo necesitaba: mis primeros programas resolvían problemas de nuestra propia operación. Por eso la tecnología nunca es el fin, sino la forma de resolver algo concreto del negocio.
1996200120062011201620212026
Industria agroalimentaria
Prevención de riesgos y formador
Cofundador y director ejecutivo
Inversión cuantitativa con sistemas propios
Proyectos propios
Desarrollador full stack
Digital Business Manager
2025 – 2026Digital Business Manager · Probelte / Agronova BiotechEstrategia y dirección del área digital, y su plataforma de aplicaciones
2024 – 2025Desarrollador full stack · Probelte / Agronova BiotechAplicaciones de I+D y de negocio, como colaborador externo
2023 – hoyProyectos propiosCMS municipal, asistente con IA, simulador fotovoltaico
2019 – 2023Inversión cuantitativa con sistemas propiosDonde empecé con Python: del tanteo de 2019 al backtesting, el ML sobre series financieras y la integración con brokers
2013 – 2019Cofundador y director ejecutivo · E-SCENTIA Global · Adroch Project SolutionsERP propio y control de accesos a obra para un cliente
2005 – 2020Prevención de riesgos y formadorTécnico y coordinador de seguridad; formador desde 2011
1996 – 2005Industria agroalimentariaEnología: de operario a director técnico
MBA en Dirección y Administración de Empresas · 2011
Máster en Energías Renovables · 2011
Técnico Superior en Prevención de Riesgos Laborales (tres especialidades), Coordinador de Seguridad y Salud en obras y Auditor de calidad · 2004-2007
Formador de formadores (Universidad Antonio de Nebrija) y Formador ocupacional · 2011-2012
Certificado de Aptitud Pedagógica (CAP) · URV · 2001
Formación continua en Python, big data, ML e IA · 2015-2024
Idiomas
Catalán · Nativo
Castellano · Nativo
Inglés · Lectura y escritura técnica con soltura; sin conversación
Esta web también es una evidencia
Es mi primer proyecto con React, Node y TypeScript, y está construida como construyo lo demás: con el contrato primero, las decisiones escritas y una verificación que no depende de que yo diga que funciona.
Reviso el contenido contrastándolo con el trabajo real; la validación automática comprueba su estructura y sus relaciones.
El nivel de cada capacidad se calcula a partir de sus evidencias y tiene en cuenta el alcance del trabajo realizado.
Frontend y backend se hablan a través de un contrato abierto (OpenAPI): esta web funcionaría igual con cualquier backend que lo cumpla, tenga el stack que tenga.
Construida con agentes de código, con el contexto y cada decisión escritos en el repositorio.
terminal
# El corpus: cada afirmación, con su evidencia$ python _validar.py
18 proyectos, 104 capacidades, 350 evidencias · 0 errores# Una evidencia, tal como la sirve la API$ curl -s "<url-de-la-api>/api/v1/capabilities/servidor-mcp" \
| jq '.evidences[0] | {claim, strength, project: .project.href}'
{"claim": "Servidor MCP propio, en producción.",
"strength": "high",
"project": "/api/v1/projects/mindundi"}# Comparar la API con la referencia y comprobar sus referencias$ python tools/conformance.py --base "<url-de-la-api>"
Comprobación correcta
Backend: 240 respuestas, 275 enlaces, 0 muertos
Backend frente a referencia: 0 respuestas distintas# comprobado el 22-10-2026
Una consulta real a la API del portfolio y la comprobación de conformidad.