App móvil para entrenar la memoria de personas mayores con cinco juegos sencillos.
Sin internet, sin cuentas y sin prisas: todo ocurre dentro del teléfono.
▶ Probar la demo en el navegador · Descargar el APK para Android
| Juego | En qué consiste |
|---|---|
| Parejas | Encontrar las cartas iguales. Tres tamaños de partida: 6, 8 o 12 cartas. |
| Forma la palabra | Ordenar letras desordenadas. 5 palabras por partida, elegidas de más de 100 palabras cotidianas. |
| Sopa de letras | Encontrar palabras escondidas en cuadrículas pequeñas y medianas. |
| Adivinanzas | Elegir la respuesta entre varias opciones. 5 por partida, de un banco de 50. |
| Diferencias | Encontrar las 3 diferencias entre dos dibujos. 6 ambientes (salón, cocina, jardín, dormitorio, playa y granja) compuestos al azar en cada partida. |
La accesibilidad no es un añadido: son reglas del proyecto, y algunas las comprueban pruebas automáticas.
- Letra de al menos 22 puntos y botones de al menos 64 puntos de alto, centralizados en
src/tema.ts. - Contraste de al menos 7 a 1 (nivel AAA de WCAG) en todos los pares de texto y fondo.
Lo verifica
tests/tema-contraste.test.tsx. - Sin límites de tiempo ni penalizaciones: cada persona va a su ritmo.
- Iconos siempre junto al texto, nunca en su lugar, y un color propio para cada juego.
- Respeta "reducir movimiento": la única animación de la app (la de victoria) se adapta.
- Sin servidor, sin cuentas y sin análisis de uso. Ningún dato sale del teléfono.
- El APK de Android no pide ningún permiso: internet, cámara, micrófono, ubicación,
contactos y almacenamiento están bloqueados de forma explícita en
app.json. - Funciona completa en modo avión.
- Expo SDK 58, React Native 0.88, React 19 y TypeScript en modo
strict. - ESLint con la configuración oficial de Expo y GitHub Actions, que comprueba tipos, estilo y pruebas en cada cambio y publica la demo web en GitHub Pages.
- Dibujos vectoriales propios con
react-native-svg; ninguna imagen se descarga. - 645 pruebas con Jest y React Native Testing Library: reglas, aciertos, fallos,
puntuación y final de partida de cada juego. La lógica de cada juego está en funciones
puras (
juego.ts), separadas de las pantallas, para probarla de forma aislada. - Compilación del APK con EAS Build.
El proyecto sigue un flujo de desarrollo guiado por especificaciones con Spec Kit:
- Una constitución con los principios que mandan sobre todo lo demás: simplicidad, cero alcance no especificado, privacidad y accesibilidad.
- Cada funcionalidad pasa por especificación → plan → tareas → implementación, en su
propia rama. Las 12 están en
specs/, con su guía de comprobación manual. - Cada criterio de éxito puede comprobarlo una persona no técnica usando la app.
La implementación se ha hecho con ayuda de Claude Code (los commits lo indican con
Co-Authored-By). Las especificaciones, las decisiones de producto y la comprobación con la
app son trabajo propio. La configuración del agente está en CLAUDE.md y
.claude/.
roberps.github.io/mindtrainer: la misma app compilada para web con Expo, en el móvil o en el ordenador. Es una demo para probarla desde un enlace: el producto es la app de Android, que funciona sin internet. La demo tampoco guarda ni envía ningún dato.
Descarga el APK de la sección Releases y sigue la guía de instalación (Android 7.0 o superior).
Necesitas Node.js y la app Expo Go en el móvil.
npm install # dependencias
npm start # arranca la app; escanea el código QR con Expo Go
npm test # pruebas automáticas
npm run typecheck # comprobación de tipos
npm run lint # revisión del código con ESLint
npm run web # la versión web en el navegador del ordenadorPara generar el APK: docs/generar-apk.md.
App.tsx Decide qué pantalla se ve: bienvenida, lista de juegos o un juego
src/
├── actividades/ Un juego por carpeta: reglas puras (juego.ts), contenido y pantallas
├── pantallas/ Bienvenida, inicio y el marco común de cada juego
├── componentes/ Botones, iconos y piezas compartidas
├── tema.ts Tamaños y colores accesibles
└── textos.ts Todos los textos de la app
tests/ Pruebas de cada juego y de las reglas de accesibilidad
specs/ Especificación, plan y tareas de cada funcionalidad
docs/ Guías para generar e instalar el APK
.github/workflows/ CI (tipos, ESLint y pruebas) y publicación de la demo web
MIT. Usa react-native-svg (MIT), @expo/vector-icons (MIT) y sus iconos
Material Design Icons (Apache 2.0), que conservan
sus propias licencias.
