Caso de estudio
Laburo
Gestión laboral inteligente
App móvil para la gestión de asistencia con fichaje por QR, geolocalización y comprobación de datos biométricos. Integrada con una API en NestJS.
Rol
Desarrollo fullstack: app móvil (React Native / Expo) y backend (NestJS).
Stack

Las empresas necesitaban una forma confiable de registrar el ingreso y egreso de su personal sin depender de planillas manuales ni de hardware de fichaje dedicado.
Fichaje por código QR generado dinámicamente, validado además por radio geográfico con expo-location, para evitar marcaciones hechas fuera del lugar de trabajo.
Confirmación del fichaje con el dato biométrico que el usuario ya tenga configurado en su dispositivo (huella o rostro), sin capturar ni almacenar biometría propia.
Autenticación con JWT (access + refresh token) y bcrypt para el hash de contraseñas, con guards y decoradores custom (@CurrentUser) en NestJS.
Persistencia de sesión con expo-secure-store en vez de AsyncStorage, para no guardar tokens en texto plano en el dispositivo.
El mayor desafío fue diseñar la validación de ubicación de forma que tolerara la imprecisión normal del GPS sin permitir marcaciones fraudulentas desde fuera de la oficina. Se resolvió con un radio configurable por empresa en vez de exigir un punto exacto.
Trabajar con permisos nativos (cámara, ubicación, notificaciones) en Expo me obligó a pensar la UX de los errores: qué mostrar cuando el usuario niega un permiso, y cómo degradar la funcionalidad sin bloquear el resto de la app.