Todos los casos

Una plataforma donde cada empresa define su propio circuito de trabajo

Empresas con operaciones en terreno en Chile necesitaban que cada tipo de trabajo siguiera su propio circuito, configurable sin desarrollo. Construimos una plataforma multiempresa con editor visual de flujos, ruteo diario y app para choferes.

Operaciones en terreno: reparto y servicios a domicilio

El encargo

El encargo venía de empresas que operan en terreno en Chile: reparto y servicios a domicilio. Cada tipo de trabajo que hacen tiene su propio circuito. Una entrega no pasa por los mismos pasos que una visita técnica: cambia quién revisa antes de despachar, cambia qué se le pide al chofer en cada parada, cambian las condiciones para dar un paso por cerrado.

Lo que necesitaban no era un software que trajera un circuito ya definido, sino uno donde el circuito lo definieran ellos. Que cuando aparece un tipo de servicio nuevo, o cambia una validación, eso se configure desde el panel y no requiera una ronda de desarrollo. No había herramienta que hiciera eso con sus circuitos propios, así que el proyecto se diseñó desde cero para eso.

Alrededor de ese núcleo había tres necesidades más. Armar las rutas del día a partir de una planilla de destinos, repartiendo las paradas de forma pareja entre los vehículos pero dejando la última palabra en el despachador. Dejar registro de lo que pasa en la calle: estado de cada orden, quién la tocó, con qué valor y con evidencia fotográfica. Y que varias empresas convivieran en la misma plataforma, cada una viendo solo lo suyo, con roles distintos hacia adentro: gerencia, operaciones, jefatura de cuadrilla, operario.

Cómo lo construimos

  1. El circuito como grafo de nodos, editable desde el panel

    Cada tipo de orden se arma en un editor visual: nodos que representan pasos del circuito, con las condiciones que habilitan el avance de uno al siguiente. La empresa modela su flujo ahí, sin tocar código. Los formularios que se piden en cada paso son piezas reutilizables y versionadas, y su definición queda horneada en el grafo al publicarlo, para que un cambio posterior en el formulario no altere lo que ya está corriendo.

  2. Versionar y publicar, en vez de editar en caliente

    Cambiar un circuito mientras hay trabajo en la calle es el escenario riesgoso. Por eso cada grafo se versiona: al publicar una versión nueva, las órdenes en curso siguen corriendo sobre la versión con la que arrancaron. Se puede rediseñar el flujo un martes a media mañana sin frenar el día. Además hay un runtime de prueba que ejecuta el circuito en seco, sin persistir nada, para validarlo antes de publicar.

  3. De la planilla de destinos a la ruta del día

    Se carga el .xlsx, se geocodifican las direcciones con caché para no volver a pagar consultas ya resueltas y se consolidan los destinos duplicados. Después las paradas se agrupan por proximidad en cargas parejas por vehículo, se optimiza el recorrido y se traza la geometría real por calles. Si el despachador reordena a mano, el sistema respeta ese orden en lugar de volver a optimizarlo: la máquina propone, la persona decide.

  4. Registro de lo que pasa en terreno

    App móvil para choferes en Android e iOS, compilada desde la misma base de código que el panel web. Turnos con registro de asistencia y seguimiento de posición durante la jornada, más un monitor en vivo para operaciones. Cada edición de una orden queda con un diff estructurado: qué campo cambió, valor anterior y valor nuevo, incluidas las fotos.

  5. Multiempresa desde el primer día

    El aislamiento por empresa está aplicado en todas las consultas, no como un filtro agregado después. Roles diferenciados por perfil, autenticación con JWT, identificadores públicos no enumerables separados del id interno, y suscripciones con cobro recurrente para el modelo comercial de la plataforma.

Resultados

1121 tests automatizados

El backend cubre con tests el runtime de órdenes, el ruteo, la geocodificación, los formularios y la auditoría.

Los circuitos de trabajo nuevos se configuran desde el panel, sin pasar por desarrollo.

Cambiar un circuito no interrumpe la operación: cada orden en curso termina sobre la versión con la que empezó.

Plataforma en producción desde marzo de 2026, con desarrollo continuo.

Tecnologías

  • Django 5.2
  • Django REST Framework
  • GeoDjango + PostGIS
  • PostgreSQL 16
  • SvelteKit 2
  • Svelte 5
  • Tailwind CSS
  • Capacitor (Android / iOS)
  • Mapbox GL
  • OSRM
  • Docker

¿Necesitás una herramienta así?

Contanos qué necesitás y te decimos cómo lo encararíamos. Respondemos en menos de 24 horas hábiles.

Empezar un proyecto