| El martes 29 de septiembre me levanté antes de lo habitual. No por los nervios del examen, que llevo tiempo aprendiendo a gestionar, sino por algo diferente: iba a pasar el día construyendo tecnología real para personas que la necesitan de verdad. El Hackathon Kiro , organizado por AWS junto con la UCJC en el marco de la Cátedra AWS Emilio Lora-Tamayo, y con Capgemini como socio técnico, reunió en el Campus Castellana a más de 200 estudiantes con un único objetivo : resolver en una jornada un reto propuesto por la ONCE. El objetivo: hacer que la ONCE lleve el ajedrez a personas con discapacidad visual utilizando inteligencia artificial. El reto de la ONCE: inteligencia artificial al servicio del ajedrez accesible El auditorio del Campus Castellana tiene esa energía particular que solo se da cuando hay muchos ordenadores encendidos y la misma cantidad de personas con ganas de hacer algo. Éramos más de 200 estudiantes de grados de informática, robótica, teleco y de FP. En mi caso, participaba como alumno de la de la UCJC, una combinación académica que en ese momento me parecía más útil que nunca. La apertura fue directa. El Rector, Jaime Olmedo, inauguró la jornada destacando el valor de enfrentarnos a problemas reales: “ la tecnología en mejor versión: resolver los problemas de las personas ”. Enseguida, el equipo de AWS presentó Kiro , su entorno de desarrollo con IA integrada , y se anunció oficialmente el reto de la ONCE: entrenar un sistema capaz de reconocer un diagrama de ajedrez a partir de una imagen y traducir la posición a un formato que una persona ciega pueda entender y usar No se buscaba una descripción genérica de la imagen, sino una traducción técnica y estructurada al lenguaje propio del ajedrez : casillas, piezas, notación algebraica y una salida compatible con lectores de pantalla y sistemas de síntesis de voz. El reto sonaba claro. En cuanto empecé a pensar en la arquitectura, me di cuenta de que no lo era tanto. El desafío técnico: por qué no basta con describir la imagen con IA La trampa en la que caería cualquier solución perezosa era evidente: llamar a un modelo de visión genérico, pedirle una descripción global del tablero y entregar eso como resultado. Esa aproximación no resulta útil para una persona ciega que quiere seguir una partida posición a posición. Lo que necesita es saber exactamente dónde está cada pieza, qué jugada acaba de ocurrir (si es que puede deducirse) y recibir esa información en un formato estructurado, sin ambigüedad, que su tecnología de asistencia pueda leer en el orden correcto. El reto técnico planteaba tres capas clave: Modelado e identificación : Definir las variables del tablero (64 casillas, hasta 32 piezas de dos colores) e interpretar correctamente las distintas notaciones. Reconocimiento visual : Lograr que la visión por computador identifique con precisión las piezas sobre fuentes heterogéneas: capturas de Lichess, fotos de libros impresos o imágenes de torneos. Traducción e interfaz accesible : Convertir la posición a notación algebraica de ajedrez mediante la signografía braille de la Comisión Braille Española y generar una narración por voz clara para lectores de pantalla. Esta tercera capa de accesibilidad e impacto social era la que marcaba la diferencia técnica y el aspecto con mayor peso en la evaluación del jurado. Sprint 1: Arquitectura con Kiro AWS como copiloto de desarrollo Las 11:00 marcaron el inicio del Sprint 1: dos horas dedicadas a la ideación, diseño de arquitectura y preparación del código . Antes de programar, utilicé Kiro AWS para estructurar el proyecto mediante su sistema de specs (requirements, design, tasks) y su mecanismo de steering, el cual permite establecer reglas claras que guían al agente de IA durante el desarrollo. El jurado valoraba el proceso tanto como el resultado La arquitectura del sistema quedó configurada de la siguiente forma: Entrada de datos : Procesamiento de archivos en formato PNG, JPG o PDF con diagramas de ajedrez. Procesamiento visual : Pipeline en Python empleando OpenCV para localizar el tablero, corregir la perspectiva (transformación homográfica), recortar las 64 casillas y clasificar las piezas. Lógica de ajedrez : Integración con la librería python-chess para validar posiciones, verificar jugadas legales y generar la notación estándar. Canales de salida accesibles Braille Unicode : Aplicación del bloque U+2800 según el Documento Técnico B8 de la Comisión Braille Española. Síntesis de voz : Generación de audio mediante pyttsx3 integrado en una interfaz web construida con Streamlit. Entorno : Proyecto desplegado en Python 3.11 con control de versiones en GitHub. Gracias a la definición previa del steering en Kiro , fue posible descomponer la arquitectura en tareas concretas y priorizadas en menos de 15 minutos, acelerando los tiempos habituales de desarrollo en hackathons. Almuerzo y networking: mentoría directa con AWS, Capgemini y profesores UCJC A las 13:00 se realizó la pausa para el almuerzo. Durante 45 minutos, los Technical Account Managers de AWS , especialistas de Capgemini y profesores de la UCJC compartieron impresiones con los equipos. No como figuras de autoridad evaluando tu código, sino como ingenieros con ganas de ver qué estabas construyendo y de contarte cómo lo harían ellos Una de las conversaciones clave con los mentores abordó la gestión de errores en la entrada de datos : cómo proceder cuando la imagen carece de indicación de jugada previa. La recomendación técnica fue garantizar siempre una salida útil y parcial (la descripción de la posición actual) antes que bloquear el sistema, una lección práctica en el diseño de productos accesibles. Sprint 2 y Sprint 3: Visión por computador con OpenCV, Streamlit y signografía braille Las dos horas del Sprint 2 fueron las más intensas. El flujo básico de imagen → posición braille → voz funcionó en los primeros 40 minutos sobre capturas digitales l ..