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: la app en sí es la excusa para montar el pipeline de visión.
Vision en iOS y ML Kit en Android. Pinta los números detectados sobre una rejilla donde cualquiera se cambia con un toque. Para saber en qué celda va cada número tampoco hace falta visión por computador: como el usuario elige el tipo de cartón, se sabe de antemano que hay 3 filas y 9 columnas. Las posiciones verticales se agrupan en 3 grupos y las horizontales en 9 con un k-means de una dimensión. Cada número cae en su celda por geometría y el número de serie del cartón se queda fuera como outlier porque está lejos de la rejilla. Con esto OpenCV dejó de hacer falta.Tres esquemas para ver el recorrido completo, 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.
La fila sale de agrupar las posiciones verticales con un k-means de una dimensión, tantos grupos como filas tenga el cartón. La columna sale del propio número: en el bingo de 90, la primera columna solo admite del 1 al 9, la segunda del 10 al 19, y así. La posición horizontal se usa solo para comprobar que el orden cuadra. Un número que queda lejos del centro de su grupo de filas 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. Es lo que coloca las filas en las tres variantes, y también las columnas en la 3×5 densa.
Versión 1. El reconocimiento se puede mejorar y es lo que se abordará en las próximas versiones.
Si descargas el APK de CheckBingo 2.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
18c74553e7e5a220110f7f1abe77245a7b222ef83766e6af4d96dd3e8e00c810
CheckBingo_2.0.0.apk, 74.862.513 bytes
En macOS o Linux. Abre Terminal, ve a la carpeta donde has descargado el archivo y ejecuta:
shasum -a 256 CheckBingo_2.0.0.apk
En Windows. Abre PowerShell o el símbolo del sistema en la carpeta de descarga y ejecuta:
certutil -hashfile CheckBingo_2.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.