Recursos humanos

Reloj Checador Inteligente

Sistema de control de asistencia con reconocimiento facial, detección anti-spoofing, geofencing por GPS y registros inmutables, construido sobre NestJS, React y ONNX Runtime.

Sector
Recursos humanos
Año
2026
Captura de Reloj Checador Inteligente

/ El punto de partida

El control de asistencia tradicional tiene un agujero conocido: el compañerismo. Las tarjetas se prestan, los PIN se comparten y el registro deja de reflejar quién estuvo realmente en su puesto. Añadir una cámara no basta, porque una foto en la pantalla de un teléfono engaña a un reconocimiento facial ingenuo. El problema real no es identificar una cara, es demostrar que esa cara pertenece a una persona viva que está físicamente en el lugar de trabajo.

/ Qué construimos

  • Reconocimiento facial ejecutado con ONNX Runtime, que permite correr los modelos de visión con el rendimiento necesario para un checador que se usa en ráfaga a la hora de entrada.
  • Detección anti-spoofing para distinguir una persona presente de una foto, un video o una pantalla: sin esta capa, el reconocimiento facial es teatro de seguridad.
  • Geofencing por GPS que valida que el registro ocurre dentro del perímetro autorizado, cerrando el hueco del registro remoto.
  • Registros inmutables: una vez escrita, la marca de asistencia no se edita. Es lo que convierte al sistema en evidencia utilizable ante un conflicto laboral.
  • API en NestJS y panel de administración en React para la gestión de empleados, perímetros y consulta de registros.

/ Decisiones técnicas

ONNX Runtime en lugar de una API de reconocimiento en la nube

Un servicio en la nube cobra por llamada y añade latencia de red en el momento de mayor carga, cuando toda la plantilla ficha en la misma franja de quince minutos. Además implica enviar datos biométricos de los empleados a un tercero. Ejecutar los modelos localmente con ONNX Runtime mantiene el dato biométrico bajo control, elimina el coste por uso y hace que el checador siga funcionando aunque la conexión falle.

Anti-spoofing como requisito, no como extra

Un reconocimiento facial sin detección de vida es más frágil que una tarjeta: se burla con una foto del perfil de Facebook. Tratarlo como funcionalidad opcional habría producido un sistema que aparenta seguridad sin darla, que es peor que no tener nada porque genera confianza injustificada en los registros.

Registros inmutables por diseño

Un log de asistencia editable no sirve como prueba: si el administrador puede corregir marcas, cualquier registro es discutible ante una autoridad laboral. Haciendo la escritura irreversible desde el modelo de datos, el historial conserva valor probatorio. Las correcciones legítimas se registran como eventos nuevos, nunca sobrescribiendo el original.

PostgreSQL para el histórico

Los datos de asistencia son fuertemente relacionales —empleado, turno, sede, perímetro— y se consultan por rangos de fecha para nómina. Es exactamente el terreno donde una base relacional con buenos índices supera a alternativas más flexibles pero menos precisas.

/ Estado

En producción, en uso diario. Escríbenos si quieres verlo funcionando.