Plataforma para cliente · Skyforest (Sweden)

Skyport

La plataforma de operaciones que convierte los vuelos de dron de Skyforest en capas de mapa terminadas, de principio a fin.

1/3Panel que agrupa misiones y órdenes de trabajo por cliente

Skyforest, una empresa sueca de tecnología forestal, necesitaba que la fotogrametría con drones fluyera del campo a las capas publicadas sin especialistas SIG de por medio. Diseñé la arquitectura de la plataforma y lidero el equipo de Territorial que la construye y opera: aplicación web, API y un backend de procesamiento distribuido.

En resumen

  • Backend construido íntegramente sobre workflows de n8n y Ordo, el plano de control de orquestación que creé para este proyecto
  • La fotogrametría corre en una flota de máquinas Windows coordinadas con locks distribuidos en MinIO y detección de procesos de Agisoft
  • Aplicación web en Next.js con mapas MapLibre para clientes, misiones, órdenes de trabajo y envío de datos offline-first
  • Cada misión, cliente y capa procesada pasa por el sistema sin que nadie toque una terminal

El problema

Skyforest sobrevuela fincas forestales con drones y entrega ortomosaicos, modelos de elevación y capas derivadas a sus clientes. El cuello de botella nunca fue el vuelo: era todo lo que venía después. Los conjuntos de fotos había que moverlos a mano, procesarlos en software de escritorio, revisarlos, publicarlos en un servidor de mapas y seguirlos en hojas de cálculo, y cada paso dependía de alguien que supiera SIG.

El objetivo era una plataforma en la que el equipo de operaciones envía un vuelo y las capas terminadas aparecen, con cada trabajo visible y recuperable por el camino.

Qué construimos

Skyport son tres cosas: una aplicación web donde el equipo gestiona clientes, misiones y órdenes de trabajo y envía nuevos conjuntos de fotos; una API que posee el modelo de dominio y habla con el almacenamiento; y un backend de procesamiento que hace el trabajo pesado. La aplicación web es un Next.js con mapas MapLibre, desplegada en el borde, con un flujo de envío offline-first para preparar datos de campo antes de tener conexión. Un toolkit de escritorio cubre los casos en que enviar directamente desde la máquina que guarda las fotos es más rápido.

El backend es donde fue la mayor parte de la ingeniería. No hay un servidor de trabajos a medida: cada paso de procesamiento es un workflow de n8n, y Ordo se sitúa sobre n8n como plano de control. Ordo valida cada trabajo contra contratos de ejecutores antes de correr, registra trabajos, pasos y artefactos como estado de primera clase en la base de datos y permite que los workers de n8n reclamen pasos con seguridad. La fotogrametría en sí corre en Agisoft Metashape en una flota de workers Windows. Cada worker mantiene locks en MinIO con TTL, detecta un proceso Agisoft en ejecución para evitar doble programación, y un workflow reaper renueva o libera locks según la ejecución de n8n propietaria siga viva. Los rásteres finales se publican en GeoServer y se convierten en capas que el cliente abre a la mañana siguiente.

Por qué importó

Skyport es el proyecto que hizo necesario a Ordo. La automatización de workflows a secas servía para los pasos individuales pero no garantizaba que un trabajo de varios pasos terminara o fallara de forma visible, con sus artefactos contabilizados. Una vez existió esa capa, el resto de la plataforma se volvió aburrido en el mejor sentido: el equipo envía, la flota procesa, el mapa se actualiza.

Hoy Skyport ejecuta el pipeline de fotogrametría de producción de Skyforest, y Sentinel vigila cada pieza, desde los workers de n8n hasta GeoServer.

Más proyectos

Todos los proyectos