Lo que costaba inspeccionar con planilla y WhatsApp
- · Planilla en papel y lapicera. El técnico iba a la casa del usuario con un formulario impreso, anotaba a mano las lecturas del manómetro, el estado de la acometida, las observaciones, y firmaba al final. Si se le olvidaba un campo, lo completaba después de memoria — o lo dejaba en blanco.
- · Fotos por WhatsApp en celulares personales. Las fotos de la instalación, la lectura del medidor y el certificado de conformidad se sacaban con el teléfono del técnico y llegaban a la oficina mezcladas con memes, fotos familiares y otros chats. Trazabilidad imposible.
- · Certificado entre 5 y 10 días hábiles. Un administrativo en la oficina tomaba la planilla física, las fotos sueltas, y armaba el certificado en Word. Lo imprimía, lo firmaba, lo escaneaba, y lo mandaba por correo a la distribuidora regional. El usuario final esperaba entre 5 y 10 días hábiles.
Lo que cambió con GasCheck
- · Captura en el celular, offline-first. El técnico abre la app, completa la planilla digital, saca las fotos desde la app (no desde la cámara del sistema), y sigue trabajando aunque no tenga señal. Al volver a la oficina, todo se sincroniza solo.
- · Certificado generado en backend, listo para enviar. Cuando la inspección cierra, el backend de Django arma el PDF con la plantilla institucional, los datos, las fotos y la firma del técnico. El certificado se manda por correo a la distribuidora regional en menos de una hora desde que el técnico terminó la visita.
- · Trazabilidad de punta a punta. GRI puede preguntar "¿cuántas inspecciones se hicieron en el sur de Cali este mes?" y obtener la respuesta en segundos. Cada inspección tiene timestamp, GPS, técnico responsable, fotos, y resultado. La distribuidora sabe exactamente cuándo y quién hizo cada certificado.
La app captura, el backend certifica
El cliente quería el certificado en el momento. La decisión correcta fue no generarlo en la app. El celular captura, el servidor certifica. Si se pierde el teléfono, el certificado se vuelve a emitir desde el servidor. Diseñamos el flujo así:
- 1 La app captura, el backend certifica. El celular del técnico no genera PDFs. Captura datos, fotos, GPS, firma. El backend de Django arma el PDF con plantilla institucional, hash, y metadatos. Si se pierde el celular, el certificado se vuelve a emitir desde el servidor.
- 2 Offline-first porque la señal en las casas no es negociable. Los técnicos van a domicilios donde la cobertura es mala o nula. La app guarda todo localmente (SQLite / AsyncStorage) y sincroniza al volver a la oficina. La inspección nunca se queda a medias por falta de señal.
- 3 PostgreSQL como única fuente de verdad, on-premise. GRI corre la app y el backend en sus propios servidores. La base guarda inspecciones, técnicos, fotos, PDFs generados, y la pista de auditoría. Nada sale a la nube.
- 4 Generación de PDF async, no en la request HTTP. El PDF no se genera cuando el técnico cierra la inspección. Una tarea de Celery lo arma en background, lo guarda en disco, y dispara el correo a la distribuidora. El técnico no espera.
┌──────────────────┐
│ App React │ ◄── Técnico en terreno, offline-first
│ Native + Expo │ Captura: datos, fotos, GPS, firma
└────────┬─────────┘
│ Sincroniza al volver a la oficina (WiFi)
▼
┌──────────────────┐
│ Django + DRF │ ◄── API, auth, modelos, validaciones
└────────┬─────────┘
│ Encola al cerrar inspección
▼
┌──────────────────┐
│ Celery worker │ ◄── Arma PDF con ReportLab / WeasyPrint
│ + Redis broker │
└────────┬─────────┘
│ Genera PDF + manda correo
▼
📄 PDF en disco local
📧 Correo a distribuidora regional Lo que nos llevamos como aprendizaje
- 01
PDF en backend, no en el celular
El cliente quería que el certificado saliera en el momento. La decisión correcta fue NO generarlo en la app. El celular captura; el servidor certifica. Si se pierde el teléfono, el certificado se vuelve a emitir. La separación captura/certificación es lo que hace que el sistema sea auditable.
- 02
La IA entró como colaborador de desarrollo, no como feature del producto
El MVP se construyó en 2 meses. La IA ayudó con el scaffolding del backend Django, los modelos, los serializers, y la primera versión de la generación de PDF con plantilla. Hoy es una práctica estándar del equipo. Esto baja el tiempo de salida al mercado sin bajar la calidad.
- 03
Offline-first porque el terreno no negocia
La primera versión requería conexión para registrar la inspección. La cambiamos a SQLite local con sync al volver a la oficina. Bajamos los abandonos de inspección a casi cero. Si dependes de la señal en una casa, perdés la inspección.
Antes entregábamos el certificado entre cinco y diez días después de la inspección, y la distribuidora no tenía forma de saber si era real o no. Ahora, el técnico termina la visita, vuelve a la oficina con señal, y en menos de una hora la distribuidora tiene el PDF en su correo.
Testimonial parafraseado.
¿Tenés técnicos en campo que siguen con planilla y WhatsApp?
Conversamos 20 minutos sobre tu operación, vemos el alcance, la arquitectura y qué tan rápido se puede salir del papel. Sin compromiso.