Sistema de Control de Asistencias con IA
Control total de asistencias, reportes por voz y gestion de personal en campo — desde cualquier dispositivo, con o sin internet.
El Reto
Las empresas de construccion y seguridad privada en Mexico enfrentan un problema que parece simple pero es increiblemente complejo: saber quien se presento a trabajar, donde, a que hora, y que paso durante su turno.
Antes de este sistema, el cliente manejaba asistencias con listas en papel. Los supervisores llamaban por telefono para reportar incidencias. Los directores esperaban hasta fin de semana para tener un panorama general. Y el fraude era comun — firmas falsas, fotos recicladas, reportes inventados.
El reto no era solo digitalizar una lista de asistencia. Era construir un sistema que funcionara en obras de construccion remotas sin internet estable, que fuera lo suficientemente simple para que un trabajador de campo lo usara desde su celular, y lo suficientemente robusto para que un director regional confiara en los datos sin tener que verificarlos manualmente.
Ademas, el sistema debia manejar multiples empresas (multi-tenant), cada una con su propia estructura organizacional, permisos granulares, y flujos de aprobacion.
La Solucion
Construimos un ecosistema completo de tres componentes:
1. Backend robusto (Python/Flask en Heroku) — Una API REST con mas de 140 endpoints que maneja toda la logica de negocio: desde el registro de asistencia con verificacion GPS hasta la transcripcion de reportes de voz con Whisper AI. El backend esta desplegado en Heroku con una base de datos TiDB Cloud (compatible con MySQL) que escala automaticamente.
2. Panel web (React/TypeScript) — Un dashboard completo para directores, administradores y supervisores. Desde aqui se configuran empresas, se asignan permisos, se revisan asistencias en tiempo real, se generan reportes y se gestionan notificaciones push.
3. App movil (Flutter — disponible en Google Play Store) — La herramienta de campo. Los trabajadores y supervisores registran asistencia con foto + GPS, graban reportes de voz que se transcriben automaticamente, y reciben notificaciones push. Todo funciona offline y se sincroniza cuando hay conexion.
Features Clave
Verificacion de Asistencia con Foto + GPS + Token Anti-Fraude
Cada registro requiere foto tomada en el momento (no de galeria) junto con coordenadas GPS. El sistema genera un token unico por sesion que expira, haciendo imposible reutilizar fotos o falsificar ubicaciones. Si las coordenadas no coinciden, el registro se marca para revision.
Modo Offline Completo
La app almacena registros localmente con toda la informacion (foto, GPS, hora, token) y los sincroniza automaticamente cuando detecta conexion. La experiencia es identica con o sin internet.
Reportes por Voz con Transcripcion IA (Whisper)
Los supervisores graban reportes de voz desde la app. El audio se envia al backend donde Whisper AI lo transcribe automaticamente. Un supervisor que antes tardaba 20 minutos escribiendo un reporte ahora lo graba en 2 minutos hablando.
Sistema de Permisos Granulares con 5 Roles
DEV (acceso total), Director (vision global), Administrador (gestion de una empresa), Supervisor (su equipo), Trabajador (solo su asistencia). Cada permiso es configurable por modulo.
Notificaciones Push via Firebase Cloud Messaging
Recordatorios de registro, alertas de ausencias, confirmaciones de reportes. Configurables por empresa, rol y tipo de evento.
Arquitectura Multi-Tenant
Una sola instancia del sistema sirve a multiples empresas. Cada empresa tiene datos completamente aislados, configuracion propia y permisos independientes.
Como se Ve
Dashboard Principal de Asistencias
Panel web con 4 tarjetas de metricas del dia, tabla de asistencias con verificacion GPS y foto miniatura, menu lateral con acceso a todos los modulos.
App Flutter — Captura de Asistencia con Foto y GPS
Pantalla de la app movil con camara activa, overlay de fecha/hora/GPS, boton grande verde 'Registrar Asistencia', nombre del trabajador y empresa asignada.
Interfaz de Reportes por Voz
Pantalla dividida: lista de reportes con fecha/supervisor/duracion/estado, y detalle con audio reproducible, transcripcion Whisper AI y opciones de edicion.
Panel de Configuracion de Permisos
Matriz de roles vs modulos con toggles de activar/desactivar, boton guardar cambios e historial de cambios recientes.
Detalles Tecnicos
| Componente | Tecnologia |
|---|---|
| Backend | Python 3.11, Flask, SQLAlchemy ORM |
| Base de datos | TiDB Cloud (MySQL compatible, escalamiento automatico) |
| Frontend web | React 18, TypeScript, componentes custom |
| App movil | Flutter 3.x (Android — Google Play Store) |
| Almacenamiento | AWS S3 (fotos, audios) |
| Notificaciones push | Firebase Cloud Messaging (FCM) |
| Transcripcion de voz | OpenAI Whisper AI |
| Hosting backend | Heroku (dynos escalables) |
| Hosting frontend | Vercel |
| Autenticacion | JWT con refresh tokens |
| API | REST, 140+ endpoints documentados |
Resultados
140+
Endpoints API en produccion
5
Roles de usuario con permisos granulares
90%
Reduccion en tiempo de reportes
Completo
Funcionamiento offline
Multi-tenant
Arquitectura
Google Play Store
App publicada en
99.5%+
Disponibilidad
Servicios relacionados
¿Tu empresa necesita controlar asistencias o reportes en campo?
Este sistema ya existe como producto SaaS listo para implementar. Tambien podemos adaptarlo a tus necesidades especificas.