El contexto
GigaBack es un producto interno, diseñado y financiado por Wisepear techlab. Cumple dos objetivos: ocupar un terreno que nuestros encargos de cliente no cubren —la aplicación de gran público, vendida directamente en las tiendas— y enfrentarnos a restricciones que el software de gestión desconoce.
El principio cabe en una frase: se limpia la fototeca deslizando el dedo, mes a mes, a la izquierda para descartar, a la derecha para conservar.
El reto
La categoría tiene mala fama, y por buenas razones: suscripciones no deseadas, precios engañosos y aplicaciones que envían la fototeca a un servidor. El producto no podía limitarse a ser correcto: tenía que ser verificablemente honesto.
La promesa debía sostenerse palabra por palabra. «Tus fotos nunca salen de tu teléfono» es una restricción de arquitectura, no una frase de la política de privacidad. Todo el tratamiento de imágenes —análisis, miniaturas, huellas, detección de duplicados— ocurre en el dispositivo. A cambio, lo que sí usa la red se nombra explícitamente en vez de disimularse: la compra, la publicidad que financia la versión gratuita y el perfil que sostiene la cuota.
El rendimiento lo decide todo. Una fototeca de cincuenta mil fotos impide comparar todo con todo. Sin una estrategia de indexación seria, la aplicación se bloquea en el primer arranque —y no recibe una segunda oportunidad.
Nada debe ser irreversible. Una aplicación que borra fotos de la infancia no puede permitirse la menor ambigüedad.
Lo que hicimos
- Una única base Flutter para iOS y Android, con una base local SQLite que guarda el inventario, las huellas, las decisiones y los contadores.
- Una detección de duplicados acotada. Se calcula una huella perceptual sobre una miniatura reducida y las comparaciones se limitan a ventanas temporales —las fotos tomadas con segundos de diferencia, después las del mismo mes. Nunca se compara todo con todo.
- Un cálculo en segundo plano que se puede retomar. El análisis corre por lotes en hilos separados, con prioridad baja y un cursor en base de datos: una aplicación cerrada a mitad de análisis continúa donde lo dejó en lugar de empezar de cero.
- Ningún borrado definitivo directo. Todo pasa por la papelera del sistema —«Eliminados recientemente» en iOS, la papelera de la galería en Android— y la interfaz lo dice en vez de ocultarlo. Los borrados se agrupan en una sola confirmación del sistema por lote.
- Cinco idiomas desde la primera versión, con fichas de tienda cuyos campos se validan automáticamente contra los límites de las plataformas: pasarse de longitud es motivo de rechazo, y el día del lanzamiento es un mal momento para descubrirlo.
El resultado
La aplicación está disponible en la App Store y en Google Play.
Lo que este producto nos enseña se comprueba después con los clientes: una aplicación de gran público no se juega solo en su código. Se juega en las declaraciones de privacidad, que deben corresponder a lo que el software hace de verdad; en fichas de tienda conformes hasta el carácter; y en una revisión editorial que rechaza lo que no puede ver funcionar.
Ahí se formó también una convicción que aplicamos en otros proyectos: una promesa que la construcción no sostiene cuesta exactamente lo que la honestidad debía aportar.