Mobitraxx

en desarrollo

De dos apps separadas a una sola base que funciona sin señal y protege lo que guarda.

Mobitraxx es una plataforma para empresas de seguridad: sus guardias recorren rondas y registran cada punto de control con el teléfono, aunque estén en un sótano o en una zona rural. Estamos rehaciendo sus dos apps Android sobre un mismo código, sin que los guardias tengan que cambiar de app.

Tipo
Cliente
Plataforma
Android · iOS en preparación
Ámbito
Arquitectura, apps, funcionamiento sin señal, cifrado y migración

Así funciona

El comienzo de un turno: el equipo se registra una vez, el guardia se identifica con su PIN y sale a hacer la ronda.

  1. 1Registrar el equipoEl administrador le da un nombre al teléfono y le asigna una licencia.
  2. 2Identificar al guardiaElige su nombre y entra con su PIN, incluso sin señal.
  3. 3Registrar el puntoAcerca el teléfono a la etiqueta y la ronda avanza.
Versión en desarrollo · datos de ejemplo

El punto de partida

Las rondas se hacen donde la señal no llega: estacionamientos subterráneos, bodegas, predios rurales. El guardia lleva el teléfono y registra cada punto de control con NFC, QR, GPS o un beacon; la empresa necesita saber que pasó por ahí y a qué hora.

Había dos apps, solo para Android y en códigos separados, que se habían ido distanciando. Hablaban con el servidor mediante una tecnología que ya no tiene soporte, y si el servidor respondía con un error, la lectura se descartaba igual.

Y las apps no tenían ni reporte de errores ni analítica: cuando algo fallaba, nadie podía saber por qué.

Los problemas y las decisiones

  1. 1Un guardia sin señal no puede quedarse esperando a que el registro se envíe, ni perder la ronda que ya hizo.

    Qué decidimos
    Todo se guarda primero en el teléfono y se envía desde una cola de sincronización que reintenta sola cuando vuelve la señal: lecturas, incidencias con fotos y video, checklists, registro horario y las altas del administrador. El servidor descarta los duplicados.
    Lo que cedimos
    Más lógica en el teléfono: una cola con tope, reintentos con espera creciente y reglas sobre qué se reintenta y qué no.
  2. 2Lo que espera en el teléfono son datos personales: fotos de empleados, firmas, video, credenciales.

    Qué decidimos
    Ciframos todo lo sensible que queda guardado —credenciales, la lista de usuarios, la cola de envíos y los medios—, con las llaves protegidas por el sistema operativo. Para fotos y video construimos un almacén de archivos cifrado, y así una incidencia con video también se puede guardar sin señal.
    Lo que cedimos
    El almacenamiento cifrado del sistema no está hecho para archivos grandes: tuvimos que diseñar y mantener uno propio para los medios.
  3. 3Si una sola operación guardada se dañaba, podía arrastrar con ella todo el trabajo pendiente de un turno.

    Qué decidimos
    Cada operación de la cola se guarda y se cifra por separado. Si una se daña, se pierde esa y nada más.
    Lo que cedimos
    Preferimos no sumar una base de datos y resolverlo sobre el almacén cifrado que ya teníamos: menos dependencias, más cuidado en cómo se indexa la cola.
  4. 4Dos apps que se distanciaban, y la necesidad de llegar también a iOS.

    Qué decidimos
    Un solo código en Kotlin Multiplatform, con la interfaz y la lógica compartidas, del que salen las dos apps de la tienda. Reporte de errores y analítica desde el primer día.
    Lo que cedimos
    Lo que depende del hardware —NFC, beacons— se implementa por separado en cada plataforma, y eso hace que iOS tome más tiempo.

Qué hemos conseguido hasta ahora

Aún no está lanzada. Llegará como actualización de las apps actuales en la tienda, de forma gradual.

  • Dos apps de tienda desde un mismo código, en pruebas con el cliente.
  • Rondas, incidencias, checklists y registro horario funcionan sin señal.
  • Las credenciales, la cola de envíos, las fotos, las firmas y el video se guardan cifrados.
  • Reporte de errores y analítica en cada pantalla, que las apps anteriores no tenían.
  • Pensada para el turno: botones grandes para usar con guantes, tema oscuro y botón de pánico.

Cómo lo construimos

Sobre un sistema que ya estaba en uso: la nueva versión reemplaza a la anterior en la misma ficha de la tienda y conserva el registro de cada teléfono, para que ningún equipo en terreno tenga que volver a configurarse.

  • 4formas de registrar un punto: NFC, QR, GPS y beacon
  • 2apps de tienda desde un mismo código
  • 3idiomas, con variantes regionales

¿Tienes un desafío parecido?

Cuéntanos qué necesitas resolver. Podemos ayudarte a definir el siguiente paso.