Por qué mandé alv los checadores genéricos y construí mi propio sistema de RH (Parte 1)
Si alguna vez has lidiado con el control de asistencia en una empresa, sabes que la solución fácil siempre es: "Compra un reloj checador en Amazon, pégalo en la pared y chinga tu madre". Suena bonito, pero en la práctica, es una pendejada. Especialmente si no tienes una empresa tradicional.
Hace tiempo había escrito un par de ideas sobre la arquitectura de mi módulo de Recursos Humanos custom para Drupal (rh_mexico). Pero como el desarrollo sigue vivo y le sigo metiendo mano a futuro, decidí reescribir esta serie desde cero para contarles el desmadre real sin limitarnos a un número exacto de capítulos. Vamos al grano.
El problema: No somos oficinistas genéricos
Nosotros somos una agencia que hace eventos. Nuestra operación no se trata de llegar a las 9:00 AM, sentarse a calentar una silla, y salir a las 6:00 PM.
La vida real de nuestra empresa incluye:
- Días de scouting en locaciones.
- Juntas eternas con clientes.
- Montajes de madrugada.
- Días híbridos donde empiezas en tu casa y terminas en un venue.

¿Qué pasa cuando metes a esta gente a un checador prefabricado? Que el sistema se rompe. Un reloj comercial solo entiende "Entrada a las 8:12". No tiene idea de si el güey está en la oficina, si está armando un escenario a tres horas de la ciudad, o si está trabajando remoto con permiso.
El contexto es el rey
Cuando un sistema no entiende tu operación, la empresa termina adaptándose al aparato, y eso es el peor error de diseño que puedes cometer. Terminas parchando todo con excels, justificaciones manuales y un dolor de cabeza gigante para la gente de RH.
Yo quería que el sistema se adaptara a nosotros.
No necesitaba un reloj que capturara huellas a lo pendejo; necesitaba una plataforma que entendiera el contexto. Por eso armé rh_mexico directamente sobre Drupal.
Implementé un check-in web con motivos operativos y geolocalización. Ahora no es una simple marca de tiempo, es un dato vivo: "Entró a las 9:00 AM desde su celular, bajo el estatus de 'Montaje en evento'". Y como no me gusta depender de nada genérico, hasta metí un sistema de auto check-in por WiFi usando Raspberry Pi para los que sí van a la oficina.
En lugar de tener una caja estúpida, ahora tengo un ecosistema completo que conecta asistencias, vacaciones, retardos y reportes bajo las leyes mexicanas, todo automatizado y centralizado.
En la Parte 2, me voy a meter a las entrañas del código y les voy a contar sobre la arquitectura real de este monstruo, cómo estructuré las entidades y por qué los servicios de Drupal son la verdadera magia detrás de esto.