Halo
En beta de TestFlight
Un curador de fotos que funciona íntegramente en el teléfono. Lee los últimos 30 días del carrete y devuelve un reel que merece compartirse.
El encargo
Un carrete desbordado no es un problema de búsqueda
A quien dispara mucho con el móvil no le faltan fotos: le falta una forma de atravesarlas. Lo evidente sería un servicio en la nube que ingiera la fototeca y la ordene. Se descartó el primer día: subir el carrete de alguien para ordenarlo es un coste, una responsabilidad y una promesa que no queríamos hacer.
- Sin servidores propios, sin cuentas, sin subir fotos
- Resultados reproducibles, no una caja negra
- Todo el flujo funciona sin configurar nada de antemano
Qué construimos
Puntuación determinista, en el dispositivo, de principio a fin
Halo puntúa las fotos en el teléfono — nitidez, iluminación, expresión, exclusión de documentos, agrupación de duplicados — y después guía al usuario para elegir, revisar, editar y exportar un reel. No se sube nada. No hay servidor que mantener.
Toda la lógica vive en un paquete Swift, HaloKit, y no en el target de la app, así la batería de pruebas se ejecuta sin simulador. El target es una envoltura mínima. La persistencia es SwiftData. iOS 17 o posterior, en iPhone y iPad.
El proceso
Seis etapas. Todas en el dispositivo.
Halo procesa las fotos en seis etapas ordenadas: explorar, puntuar, seleccionar, revisar, estudio y exportar. Todas se ejecutan en el dispositivo.
Explorar
Leer la fototeca con el permiso que concedió el usuario.
Puntuar
Valorar cada foto por nitidez, iluminación y expresión.
Seleccionar
Agrupar duplicados, descartar documentos, quedarse con las buenas.
Revisar
El usuario acepta o descarta, en una cuadrícula.
Estudio
Ordenar y editar las fotos elegidas hasta formar un reel.
Exportar
Renderizar en el dispositivo y pasar a la hoja para compartir de iOS.
En qué punto está
En beta, y lo decimos
Halo todavía no está en la App Store. Es una app que funciona, en beta de TestFlight, con su política de privacidad y su página de soporte publicadas antes de enviarla a revisión, no después.
- La batería completa se ejecuta sin interfaz, así que una regresión salta antes de arrancar un simulador
- Todo lo que la app recuerda vive en el dispositivo, en SwiftData
- Sin analítica, sin informes de fallos, sin nada que llame a casa
Rol
Diseñado, construido y publicado en casa
Producto, arquitectura, motor de puntuación, interfaz e ingeniería de publicación. A diferencia del trabajo para clientes de este sitio, este es enteramente nuestro — por eso puede llevar nombre.
Lo que esto demuestra que sabemos construir
Ingeniería de producto
Un producto llevado desde un documento de visión hasta una versión que funciona, no un prototipo.
Privacidad por diseño
Una arquitectura donde la promesa de privacidad es una propiedad del sistema, no una página de política.
Procesado en el dispositivo
Cadenas de puntuación que se ejecutan en el cliente, de forma determinista y reproducible.
Arquitectura de pruebas
Un código organizado para que su propia batería de pruebas se ejecute sin simulador.
¿Quieres algo construido así?
Las mismas manos, el mismo listón.
Reserva una llamada