Fotografías tus cartones, CheckBingo los reconoce y los guarda. Vas marcando los números que salen del bombo y la app vigila todos tus cartones a la vez, avisándote en cuanto hay línea o bingo. Pensada para partidas caseras y fiestas de pueblo, sin registro y sin conexión. Con letra grande, para que la use cualquiera, también quien no se lleva bien con la tecnología.
Lo que ve quien solo quiere echar una partida.
Cinco pantallas del recorrido, de añadir un cartón a cantar bingo.
Una app móvil multiplataforma, offline-first, con arquitectura hexagonal y OCR en el propio dispositivo.
CheckBingo se eligió a propósito como banco de pruebas para trabajar con IA aplicada, reconocimiento de texto (OCR), visión por computador, tratamiento de imágenes y algoritmos como k-means. Es un proyecto de autoaprendizaje, lo que la app hace importa menos que cómo está hecha.
Primero un problema, luego una decisión, después otro problema, y así hasta una solución proporcionada.
OpenCV, detectar el contorno del cartón, corregir la perspectiva con una homografía, segmentar la cuadrícula y leer celda a celda. La meta que me marqué, cero errores automáticos.Vision en iOS y ML Kit en Android, y el usuario remata con un toque sobre una rejilla en la que puede modificar los números detectados. Adiós a OpenCV y adiós al problema de memoria.Tres diagramas para ver cómo encaja la parte de IA, del píxel a la celda.
El OCR nativo devuelve números sueltos con su posición, pero no sabe a qué celda van. El resto del pipeline convierte esa lista en una rejilla, la muestra sobre la foto y deja que el usuario remate con un toque.
Como el usuario elige el tipo de cartón, sé que hay 3 filas y 9 columnas. Agrupo las posiciones verticales en 3 grupos y las horizontales en 9, así cada número recibe su par (fila, columna). Un número que queda lejos del centro de su grupo se marca como outlier, que es justo lo que le pasa al número de serie del cartón.
La "IA" aquí es un algoritmo clásico bien aplicado. Se parte de centros repartidos, se asigna cada valor al más cercano, se recalculan los centros y se repite hasta que se estabilizan o se alcanzan 20 iteraciones. Al final se ordenan los clústeres para que el 0 sea siempre arriba o a la izquierda.
Versión 1. Seguiré explorando nuevas vías para mejorar la calidad del reconocimiento de cartones en próximas versiones.
Si descargas el APK de CheckBingo 1.0.0 para Android, puedes verificar que no ha sido modificado comparando su huella digital SHA-256 con la publicada aquí.
En iOS la verificación de firma la hace el App Store automáticamente. Las huellas publicadas en esta página aplican solo al APK de Android.
67f51a6fec00db8ecabb1a28081fa1d2e6d3ba95c462b89342c4e54ce8572bc2
CN=Luis Julve, O=Nonsense Development Group, C=ES
059ab58b9dbf75f70c28c32f34e18bcaa83002638a785b52c3d01910f151db30
CheckBingo_1.0.0.apk, 74.427.477 bytes
En macOS o Linux. Abre Terminal, ve a la carpeta donde has descargado el archivo y ejecuta:
shasum -a 256 CheckBingo_1.0.0.apk
En Windows. Abre PowerShell o el símbolo del sistema en la carpeta de descarga y ejecuta:
certutil -hashfile CheckBingo_1.0.0.apk SHA256
Directamente en el móvil Android. Hay aplicaciones gratuitas en Play Store que calculan checksums de archivos (por ejemplo "Hash Droid" o "Hash Checker"). Instala una, abre el APK descargado desde ella y compara el SHA-256 que muestra con el de esta página.
El resultado debe coincidir carácter a carácter con el SHA-256 publicado más arriba. Si coincide, la descarga es íntegra. Si no coincide, no instales el archivo y vuelve a descargarlo desde el enlace original.
CheckBingo es una aplicación desarrollada por Luis Julve, en adelante "el desarrollador".
CheckBingo no recoge ni transmite datos personales a ningún servidor externo. Todo lo que genera el uso de la app se guarda únicamente en tu dispositivo.
Lo que se guarda localmente es:
Nada de lo anterior sale de tu dispositivo.
Cuando fotografías un cartón, la imagen se procesa en el propio dispositivo con el OCR del sistema, Vision en iOS y ML Kit en Android. Las fotos no se suben a ningún servidor ni se guardan en tu carrete: se almacenan en el espacio privado de la app solo mientras la partida está activa, y se borran al terminar o eliminar la partida. No se conservan de una partida a otra.
No se utiliza ninguna herramienta de analítica de terceros. No se registran eventos de uso ni se envían datos de comportamiento a ningún servidor.
CheckBingo solicita únicamente los permisos imprescindibles para funcionar:
No se solicitan permisos de micrófono, contactos, localización ni ningún otro dato sensible.
CheckBingo no está dirigida específicamente a menores. En cualquier caso, no se recogen datos de ninguna persona, con independencia de su edad.
Cualquier cambio relevante se comunicará mediante una actualización de la app.
Al descargar o utilizar CheckBingo, aceptas estos términos de uso. Si no los aceptas, no debes usar la aplicación.
El desarrollador te otorga una licencia personal, no exclusiva e intransferible para usar CheckBingo en dispositivos de tu propiedad o bajo tu control, de acuerdo con estos términos.
No está permitido:
CheckBingo es una ayuda para llevar el control de tus cartones durante una partida de bingo. No es un juego de azar ni gestiona dinero ni apuestas. El reconocimiento de cartones es una ayuda y puede no ser perfecto: revisa siempre los números antes de cantar. La app no sustituye al control oficial de la partida.
La aplicación se proporciona "tal cual", sin garantías de ningún tipo, expresas o implícitas. El desarrollador no garantiza que la app esté libre de errores, que funcione de forma ininterrumpida ni que los resultados del reconocimiento sean exactos.
En ningún caso el desarrollador será responsable de daños directos, indirectos, incidentales o consecuentes derivados del uso o la imposibilidad de uso de la aplicación, incluida la pérdida de una línea o un bingo por un número mal reconocido o mal marcado.
El desarrollador puede actualizar, modificar o dejar de dar soporte a la aplicación en cualquier momento. Las actualizaciones pueden cambiar funcionalidades existentes. Se procurará notificar los cambios importantes en las notas de cada versión.
Estos términos se rigen por la legislación española. Para cualquier disputa, ambas partes se someten a los juzgados y tribunales de España.