Tu navegador
Pinta el tablero y manda cada jugada. No decide nada: solo enseña.
2026
Ajedrez con IA que repasa tu partida y te dice qué puedes mejorar
Juegas una partida de ajedrez en el navegador contra el rival que elijas. Cuando termina, un motor de ajedrez repasa la partida, encuentra dónde se te escapó y una IA te lo cuenta en castellano, con una frase por error y un consejo para la próxima.
Lo hice porque yo mismo pierdo partidas que tenía ganadas. Te lo cuento en cinco pasos.
Abres la página, eliges contra quién quieres jugar y mueves las piezas como en cualquier tablero. Para jugar hay que entrar con tu cuenta de Google: así cada persona tiene su historial y sus límites del día, y nadie gasta la IA de los demás.
Si solo quieres mirar el ranking o mis partidas, no hace falta entrar.
Cada jugada sale de tu navegador hacia un pequeño servidor que tengo en Azure, la nube de Microsoft. Ese servidor hace de árbitro: tiene el tablero de verdad y comprueba que la jugada es legal antes de aceptarla.
No se fía de lo que dice el navegador. Así nadie puede colarle una jugada imposible o un resultado inventado al ranking.
Puedes jugar contra tres tipos de rival, de menos a más:
La IA no ve el tablero: solo lee la posición escrita y propone una jugada. A veces propone una imposible. Entonces el árbitro le dice por qué no vale y lo vuelve a intentar, hasta tres veces. Si aun así falla, el servidor juega por ella una jugada de respaldo y lo deja anotado.
Al terminar, Stockfish repasa la partida posición por posición y calcula quién iba ganando y por cuánto, medido en peones. Donde tu ventaja se desploma de una jugada a la siguiente, ahí hay un error.
Si pierdes más de tres peones de ventaja de golpe, es un error grave. Además, unas reglas fijas apuntan qué pasó: una pieza que se quedó sin defensa, un mate que no viste, el rey sin enrocar... Todo eso son hechos medidos, no opiniones.
Un modelo de IA recibe esos hechos, junto con la partida y su resultado, y los convierte en frases que se entienden: qué jugaste, cuánto te costó y qué era mejor. Al final, un consejo para la próxima partida.
La IA explica bien, pero a veces se inventa cosas. Por eso su respuesta se compara con los hechos del motor: si habla de un error que el motor no encontró, se descarta. Y solo te dice que un fallo se repite si de verdad aparece en tus partidas anteriores.
En Azure
Todo vive en Azure salvo el inicio de sesión, que es de Google. La web y el almacén de imágenes del servidor tienen una cuota fija al mes; la API, los modelos y la base de datos se pagan por lo que se usan.
Tú
Tu navegador habla con danielalonso.dev, y con Google solo para entrar
Pinta el tablero y manda cada jugada. No decide nada: solo enseña.
Google Identity Services
Entras con tu cuenta y la API comprueba que de verdad eres tú. No guardo ninguna contraseña.
danielalonso.dev
La web enseña las páginas y la API hace el resto
Azure Static Web Apps
Páginas ya hechas, que se sirven al momento. Se publican solas cada vez que subo un cambio.
Azure Container Apps
Lleva la partida, comprueba cada jugada y tiene Stockfish dentro. Se apaga sola tras unos minutos sin visitas.
Las dos van en el mismo dominio: la web le pasa a la API todo lo que empieza por /api. Para poder enlazarlas pagué el plan Standard de Static Web Apps.
Lo que usa la API
Solo la API habla con estas piezas, nunca tu navegador
Microsoft Foundry, con los GPT por Azure OpenAI
27 modelos que saben jugar, de 8 fabricantes. Juegan contra ti y escriben el diagnóstico. Se pagan por uso.
Azure SQL Database, oferta gratuita
Usuarios, rankings, estadísticas y una copia de cada partida. Si se acaba lo gratis del mes, se pausa en vez de cobrar.
Azure Blob Storage
Cada partida y los contadores del día. Y una copia del ranking ya calculada, para que quien solo mira no despierte la base de datos.
Sin claves donde importa. Para hablar con los modelos, la base de datos y el almacén no hay ninguna clave: la API se identifica con una identidad administrada de Azure, así que no hay nada de eso que se pueda filtrar.
Con topes. Cada persona tiene un límite de partidas y de gasto en IA al día, la IA se corta al llegar a 0,50 $ diarios entre las dos demos y Azure me avisa por correo al acercarse a los presupuestos del mes: 10 y 15 € en el proyecto y 40 € en toda la suscripción.
Datos
Lecciones
Casi nada salió a la primera. Esto es lo que más me enseñó, por si te sirve si montas algo parecido en Azure.
Con una suscripción de estudiante, los modelos más punteros, como GPT-6 o Claude, salen en el catálogo pero tienen cuota 0, y no se puede pedir más.
Además, la cuota de un mismo modelo cambia según la zona y la forma en que lo pones en marcha: uno solo tenía cuota dentro de la Unión Europea, otros solo en una región concreta. Mirando solo la opción global parecía que no había nada, y tuve que revisarlo región por región. Algunos, además, ya están retirados y no se pueden usar.
Las regiones también vienen limitadas: la web acabó en Estados Unidos, la API en Francia y uno de los modelos en Suecia.
Antes de abrir un modelo al público le hice jugar una partida corta. Varios se quedaron fuera: Phi-4 proponía jugadas ilegales y sus versiones que razonan tardaban más de dos minutos por jugada (Phi-4-mini-reasoning propuso 18 jugadas ilegales en 6 jugadas, a unos 4 minutos cada una). Ministral 3B necesitó la jugada de respaldo en 4 de 6, y Grok 4.6 y Kimi K3.1 Pro fallaban en una de cada tres o cuatro llamadas.
Antes había probado modelos pequeños en mi ordenador, con una tarjeta gráfica GTX 1060. LFM3 1.7B, Qwen 3.5 4B y Gemma 4 E4B perdieron las 60 partidas contra el rival que mueve al azar, todas por jugadas ilegales.
En las instrucciones del diagnóstico puse de ejemplo «Otra vez has perdido por no enrocar a tiempo». El modelo lo copiaba aunque hubieras ganado o hecho tablas.
La solución: decirle el resultado de forma explícita y, después, comprobar en el código que lo que escribe cuadra con él y que el «otra vez» tiene respaldo en tus partidas. Si no cuadra, se le pide de nuevo; si sigue mal, se usa un texto sin IA. Con un modelo de lenguaje no basta con pedirlo: hay que comprobarlo.
Al principio todo iba en ficheros. Para los rankings y las estadísticas añadí una base de datos de Azure en su oferta gratuita: se duerme cuando nadie la usa y, si se acaba lo gratis del mes, se queda en pausa en vez de cobrar.
La pega es que despertarla tarda y gasta ese límite. Por eso la demo depende de ella lo menos posible: la partida se sigue guardando en ficheros, el ranking público se lee de una copia que se rehace al terminar cada partida y lo que va a la base de datos se apunta sin esperar. Si está dormida, la demo no se queda colgada: tira de lo último que sabía y sigue.
Los presupuestos de Azure mandan un correo al acercarse a la cifra, pero no apagan nada. El corte lo pone la propia API: suma lo que cuesta de verdad cada llamada a la IA, según lo que ha escrito y leído, y deja de llamarla al llegar al tope del día. Así un modelo caro no se come el dinero de todos.
Una línea de limpieza al preparar el servidor borraba piezas que necesitaba la conexión con la base de datos, y la API no arrancaba. La quité, y ahora se comprueba que no falta nada antes de publicarlo.
El botón de Google va dentro de un marco, y con el tema oscuro el navegador le pintaba un recuadro blanco alrededor; se arregló pidiéndole a ese marco el tema claro. Y la web respondía «todo bien» en páginas que no existían, por una regla que mandaba cualquier dirección a la portada. Ahora dice que no existen.
Elige rival, juega y mira qué te dice al final.
Con qué está hecho
Analicé con Stockfish mis partidas de blitz de octubre y vi que mi margen de mejora estaba en el medio juego. Así que hice una demo: juegas contra Stockfish o contra un modelo de Microsoft Foundry y, al terminar, el motor encuentra tus errores y la IA te los explica en castellano.
API en FastAPI sobre Azure Container Apps, enlazada a esta web en /api/meaculpa: login con Google verificado en el servidor, partidas en Blob Storage con una copia en Azure SQL Database (oferta gratuita) para rankings y estadísticas, y cuotas diarias por persona.
Rivales de menos a más: aleatorio, codicioso, minimax con poda alfa-beta, Stockfish por nivel y 27 modelos de Foundry a elegir, a los que se corrige si proponen una jugada ilegal.
Stockfish encuentra los errores; el modelo solo los explica, y se descarta cualquier error que se invente.
Antes de abrir un modelo al público, una partida corta de prueba: los que hacían jugadas ilegales, tardaban minutos o fallaban a ratos se quedaron fuera.
Una demo que se juega en el navegador y mis propias partidas analizadas jugada a jugada.