Caso de estudio · En producción

Entrenador Táctico

Aprendé a escanear el tablero antes de mover. Puzzles reales de Lichess, escaneo por sectores, feedback explicativo y estadísticas de progreso.

Industria Educación · Ajedrez
Tipo Web app interactiva
Estado ✅ En producción
Stack Python · Flask · chess.js · SQLite
♟️

Parte del ecosistema Asistente Ajedrez. Este entrenador nació como herramienta independiente para entrenar reconocimiento táctico, y luego se integró al portal de alumnos de Asistente Ajedrez — los alumnos acceden directamente desde su perfil. También funciona como herramienta standalone para cualquier jugador que quiera mejorar su visión táctica.

3 niveles de dificultad calibrados por cantidad de piezas sin defensor
+16K puzzles reales de Lichess disponibles para entrenar
6 fases por ejercicio: rival_move → escaneo → marcado → feedback → racha → resumen

Los jugadores pierden piezas por no escanear el tablero antes de mover

Uno de los errores más comunes en ajedrez — incluso en jugadores intermedios — es dejar piezas sin defensor o no ver que el rival acaba de crear una amenaza con su última jugada. No es un problema de táctica avanzada: es un hábito de escaneo que se puede entrenar.

La mayoría de los entrenadores de ajedrez online se enfocan en resolver combinaciones. El Entrenador Táctico hace algo diferente: entrena el momento previo a la jugada — el escaneo sistemático del tablero por sectores para identificar piezas vulnerables antes de que sea tarde.

Un entrenador que simula el proceso mental del jugador experto

Cada ejercicio replica exactamente lo que un jugador debería hacer en una partida real: ver la jugada del rival, escanear el tablero por sectores y marcar todas las piezas que quedaron sin defensor. El sistema compara con la solución real calculada con python-chess y da feedback explicativo por cada pieza.

01

Jugada del rival

Se muestra la posición tras la jugada rival resaltada. 2.5 segundos para observar.

02

Escaneo por sectores

3 sectores del tablero (flanco dama, centro, flanco rey) resaltados en secuencia. 2 segundos cada uno.

03

Marcado de piezas

El jugador hace clic en las casillas con piezas sin defensor. Puede marcar de cualquier color.

04

Feedback explicativo

Aciertos en verde, errores en rojo. Flechas SVG que muestran atacantes. Explicación por pieza en lenguaje natural.

05

Racha y sonido

Contador de aciertos seguidos con badge animado. Sonidos sintéticos con Web Audio API para refuerzo positivo.

06

Resumen de sesión

Precisión, tiempo promedio, debilidades por sector, mejor racha y recomendación de nivel. Persistido en SQLite.

Así se ve en uso

Pantalla de inicio — selector de nivel y perfil de visualización
Inicio — selector de nivel (Principiante/Intermedio/Avanzado) con historial de rendimiento por nivel
Home screen — level selector and display profile
Versión en inglés — mismo selector con estadísticas de sesiones anteriores
Fase de escaneo por sectores en español
Escaneo en español — sector resaltado con pregunta guía en el idioma del usuario
Sector scanning phase in English
Escaneo en inglés — misma lógica, interfaz completamente traducida
Fase de marcado en español
Marcado en español — el usuario selecciona las piezas vulnerables haciendo clic en el tablero
Marking phase in English
Marcado en inglés — leyenda de piezas colgadas y vulnerables traducida
Feedback explicativo con flechas SVG mostrando atacantes
Feedback en español — aciertos, errores, flechas SVG de atacantes y recomendación para el siguiente ejercicio
Feedback screen in English with SVG arrows
Feedback en inglés — explicaciones generadas por el backend traducidas en tiempo real según el idioma del usuario

Por qué cada tecnología

Python + Flask
Backend liviano que sirve puzzles filtrados por dificultad y calcula las piezas vulnerables por posición
python-chess
Calcula exactamente qué piezas no tienen defensor en cada posición — la fuente de verdad contra la que se evalúa cada respuesta del usuario
Lichess CSV
+16K puzzles reales con FEN, jugadas y rating. Se filtran por cantidad de piezas vulnerables para calibrar la dificultad
chessboard.js + chess.js
Renderizado del tablero y validación de posiciones en el frontend. El escaneo por sectores se implementa con resaltados CSS sobre el SVG del tablero
SQLite
Persiste sesiones, resultados por ejercicio e insights de escaneo (sector débil, tiempo promedio, tasa de falsos positivos)
Web Audio API
Sonidos sintéticos generados en el browser (sin archivos de audio). Correcto, incorrecto y racha con notas ascendentes/descendentes

Probalo ahora mismo

El entrenador está disponible en Railway. Elegí tu nivel, empezá una ronda y probá si ves todas las piezas sin defensor antes de que sea tarde.