Desarrollador de softwareque lleva la IA a producción
De extremo a extremo: la capa de IA en Python, el producto en TypeScript y la app nativa hasta la tienda.
Cuatro años desarrollando y dos llevando IA generativa a producción — RAG, agentes y pipelines LLM. Actualmente en CODX Digital como ingeniero de IA y móvil. En paralelo construyo emap, plataforma de movilidad de Euskadi publicada en la App Store.
Jiménez
Producto propio, y producto de equipo.
Cosas que están en producción y se pueden abrir, descargar o citar. Cada una tomó una decisión técnica distinta — infraestructura propia, IA multi-proveedor, nativo de verdad o vivir dentro de un ecosistema cerrado. Las decisiones son el trabajo.
- Obra / 01PropioEn producción
emap
Plataforma de movilidad de Euskadi
RolDiseño, desarrollo e infraestructura — en solitarioTransporte público de Bizkaia, Gipuzkoa y Álava con tiempos de espera en vivo, rutas puerta a puerta en coche, moto, bici, a pie y transporte público, y capas de datos abiertos. App iOS publicada, web pública y API propia. Trilingüe ES/EU/EN y accesibilidad WCAG 2.1 AA auditada.
Decisión claveNo depender de la API de rutas de nadie. Levanté tres motores de routing propios en un VPS — OSRM para coche en Euskadi, Valhalla para el resto de España y moto, OpenTripPlanner para transporte público — con despliegues blue-green y rollback. Cuando Madrid entró en producción, el grafo conjunto destapó un NPE de frecuencias en OTP 2.7 cuyo fix upstream solo existía en la 2.8, que elimina la API REST que uso: materialicé las frecuencias del GTFS en vez de migrar.
Resultados- App iOS publicada en la App Store (Navegación)
- CarPlay en producción y Android Auto nativo con Car App Library
- Navegación 3D en WebGL con oclusión por edificios y alturas reales de catastros forales
- Tiempo real de 4 redes de transporte vía GTFS-RT
React NativeExpoPythonFastAPIMapLibre GLOSRMOpenTripPlannerValhallaPeriodo2026 — ActualidadRolProyecto propio, en solitarioResultadoiOS publicada · web en producción - Obra / 02PropioPublicado · Apache-2.0
emap Labs
Benchmark abierto de búsqueda geográfica en euskera y castellano
RolAutor — código Apache-2.0, datos CC-BY / ODbLLa capa de datos e IA que alimenta emap, publicada como investigación reproducible con DOI citable. Un corpus dorado de 139 casos de búsqueda hiperlocal sobre 22 capas, con split held-out estricto y casos de abstención: el buscador que se inventa una respuesta, suspende.
Decisión claveEl hallazgo que no esperaba: la brecha del euskera no era del idioma, era del modelo. Con MiniLM la etapa semántica apenas aportaba nada en euskera; al cambiar a multilingual-e5-large el held-out en castellano subió del 58% al 73% y el euskera del 63% al 71%. El euskera del corpus se escribe y se coteja con Itzuli, el traductor del Gobierno Vasco — no es traducción automática sin revisar.
Resultados- DOI citable: 10.5281/zenodo.21282784
- 22 capas y 27.515 puntos de interés de Euskadi, versionados
- Primer servidor MCP de movilidad hiperlocal, con 5 herramientas
- Evals en CI con gates de regresión en cada push
PythonFastAPIfastembede5-largeMCPGitHub ActionsPeriodo2026RolAutorResultadoOpen source · DOI · v0.2 - Obra / 03EquipoEn producción
Kunoa
Salud y nutrición con IA generativa
RolIngeniero de IABackend de IA para planes nutricionales personalizados. Construí el pipeline de generación en cinco pasos sobre AWS Lambda, resolviendo trabajos largos que exceden los límites de timeout de la API, más una capa LLM multi-proveedor y RAG sobre una base de conocimiento nutricional.
Decisión claveUna capa multi-proveedor con LiteLLM (OpenAI + Anthropic Claude) en lugar de atarme a un solo modelo: el proveedor pasa a ser configuración, no arquitectura. Encima, RAG sobre Pinecone y reconocimiento de comida por foto para estimar macros a partir de imágenes.
Resultados- 35% de reducción de churn con la personalización por IA
- Base de reconocimiento de +18.000 platos
- Pipeline de 5 pasos con trabajos largos fuera del límite de timeout
PythonAWS LambdaLiteLLMPineconeSwiftKotlinPeriodoCODX Digital · 2025—RolIA y móvilResultadoiOS + Android, en producción - Obra / 04EquipoEn producción
ChutApp
Vídeo social para fútbol base
RolIngeniero móvil y backendJugadores, equipos y familias comparten clips y momentos de entrenamiento en un entorno moderado pensado para menores de 18. Trabajé el streaming en vivo, los clientes nativos y el sistema de moderación.
Decisión claveNativo en las dos plataformas desde el primer día, en lugar de atajos híbridos. El vídeo corto vive en la sensación del dispositivo — el tiempo de respuesta del gesto, la calidad de captura, la consistencia de reproducción. Se paga enviando cada función dos veces.
Resultados- 12.000 usuarios en la plataforma
- Streaming en vivo en producción con AWS IVS, operado en eventos reales
- Sistema de moderación de contenido de diseño propio
SwiftKotlinNext.jsAWS IVSDynamoDBPeriodoCODX Digital · 2025—RolMóvil y backendResultadoiOS + Android, en producción - Obra / 05PropioConstruido · sin publicar
China Survival Guide
Mini Program de WeChat para extranjeros en China
RolProyecto en solitarioUna guía para moverse por China, publicada dentro de WeChat como Mini Program. Dos vistas, un único almacén de contenido, sin backend. Construida y probada de principio a fin dentro del runtime de WeChat.
Decisión claveQuedarme dentro de las primitivas de WeChat — WXML, WXSS, JavaScript. Sin capa puente, sin shim de React, sin backend. El objetivo era entender cómo funciona el sistema desde dentro, no doblarlo hasta que se pareciese a algo familiar.
Resultados- Build funcional validado con más de 50 expatriados
- Publicación bloqueada solo por el requisito de entidad legal china
WXMLWXSSJavaScriptWeixin DevtoolsPeriodo2026RolEn solitarioResultadoFuncional · sin publicar
Todo esto se puede comprobar.
Un currículum se lee; esto se abre. Descarga la app, clona el repositorio, cita el DOI o revisa los resultados de las evaluaciones. Sin formularios y sin hablar conmigo primero.
- Prueba / 01App Store
emap, publicada
App de navegación en la App Store española. Descargable ahora mismo, sin pedirme nada.
Ver en la App Store↗ - Prueba / 02Publicación
DOI 10.5281/zenodo.21282784
Benchmark de búsqueda geográfica en euskera y castellano, citable y con licencia Apache-2.0.
Ver la publicación↗ - Prueba / 03Código
github.com/r3tr0eth/emap-labs
Corpus, harness de evaluación y resultados versionados. Reproducible en tres comandos, con evals en CI.
Abrir el repositorio↗ - Prueba / 04Producción
emapapp.com
Web pública y API en producción, sobre infraestructura de routing propia en un VPS.
Abrir la web↗
Castellano · actualizado en 2026
Trabajo para que el siguiente lo entienda.
Tres hábitos que traigo a un equipo. No son intenciones: están aplicados en los proyectos de arriba y se pueden auditar en el repositorio.
Las decisiones se escriben, no se recuerdan.
Llevo registro de decisiones de arquitectura numeradas — en emap van por la D-023 — con el contexto y la alternativa descartada. Quien llegue después no tiene que preguntarme por qué el routing no usa la API de un tercero: está escrito, con fecha.
El CI en verde es la condición de terminado.
Regla dura conmigo mismo: tras cada push se comprueba el pipeline, y si está rojo se arregla antes que cualquier otra cosa. En la capa de datos, además, las evaluaciones tienen gates de regresión: si una métrica baja, el push no pasa.
No se finge.
Lo que no se puede medir, se omite. Los benchmarks que publico premian responder «no lo sé» antes que inventar, y las limitaciones van escritas junto a los resultados — sesgo de cobertura incluido. Prefiero un número pequeño que defienda una entrevista entera.
- Cambios de interfaz verificados con captura, no de palabra
- Accesibilidad WCAG 2.1 AA auditada con axe-core
- Castellano, euskera e inglés en paridad, sin traducción automática
Lo que hay en el taller.
Proyectos paralelos más pequeños, en distintos estados. Los dejo a la vista porque enseñan en qué ando cuando nadie me lo encarga.
- Taller / 01Uso diario
LanguageOS
Sistema propio de aprendizaje de idiomas centrado en la inmersión y el contexto cultural, no en la gamificación.
EstadoHerramienta interna en uso diario y desarrollo activo.
language-os.vercel.app↗ - Taller / 02Open source
Susurro
Dictado por voz en local para Claude Code: transcripción en la propia máquina, sin enviar audio a ningún servicio.
EstadoCódigo público en GitHub, con diario de desarrollo publicado.
github.com/r3tr0eth/susurro↗ - Taller / 03Lista de espera
QuestClub
Juego social privado para grupos de amigos, construido alrededor de misiones por temporadas y competición a largo plazo.
EstadoSistemas de onboarding y bucles de juego en desarrollo.
questclub.app↗
Notas de trabajo sobre lo que construyo.
Los diarios de build son lo más técnico: cómo se construyó algo de verdad, con las decisiones y los callejones sin salida incluidos. El resto son análisis de IA, móvil y ecosistemas tecnológicos asiáticos.
- 2026 · 08 · 17Decision log
La brecha del euskera no era del idioma, era del modelo
Monté un benchmark abierto de búsqueda geográfica en euskera y castellano para emap. Por el camino aprendí que el umbral de abstención no se hereda entre modelos, que la declinación vasca rompe el preprocesado, y que medir bien el euskera empeora tus números antes de mejorarlos.
Leer → - 2026 · 08 · 17Field log
Me cansé del algoritmo de Spotify y me construí uno que descubre de verdad
Spotify me recomendaba siempre lo mismo. El problema no es el algoritmo: es su objetivo. Así que me monté crate-digger, un descubridor musical que rota ejes de exploración y tira de curación humana. Open source.
Leer → - 2026 · 07 · 13Field log
Susurro: construí control por voz 100% local para Claude Code
Tenía diez sesiones de Claude Code abiertas a la vez y no daba abasto mirando pantallas. Construí un sistema de voz que dicta, avisa y cambia de sesión — transcripción y voz corriendo 100% local en el Mac, sin API keys.
Leer → - 2026 · 04 · 28Field log
Mi experiencia creando una mini app en WeChat
Una guía de China para extranjeros, construida dentro de WeChat. Lo complicado no fue programar — fue entender el sistema cerrado.
Leer → - 2026 · 04 · 04Essay
Gemma 4: Google libera su modelo mas potente bajo Apache 2.0
Google lanza Gemma 4 bajo licencia Apache 2.0 por primera vez, con modelos edge que corren en moviles y Raspberry Pi. Analisis tecnico y estrategico.
Leer →