Plataforma para cliente · Skyforest (Sweden)

Skyport

A plataforma de operações que transforma os voos de drone da Skyforest em camadas de mapa prontas, de ponta a ponta.

1/3Dashboard agrupando missões e ordens de serviço por cliente

A Skyforest, empresa sueca de tecnologia florestal, precisava que a fotogrametria por drone fluísse do campo até as camadas publicadas sem especialistas em SIG no caminho. Arquitetei a plataforma e lidero a equipe da Territorial que a constrói e opera: aplicação web, API e um backend de processamento distribuído.

Em resumo

  • Backend construído inteiramente sobre workflows n8n e o Ordo, o plano de controle de orquestração que criei para este projeto
  • A fotogrametria roda em uma frota de máquinas Windows coordenadas por locks distribuídos no MinIO com detecção de processos do Agisoft
  • Aplicação web em Next.js com mapas MapLibre para clientes, missões, ordens de serviço e submissão de dados offline-first
  • Toda missão, cliente e camada processada passa pelo sistema sem ninguém tocar em um terminal

O problema

A Skyforest sobrevoa propriedades florestais com drones e entrega ortomosaicos, modelos de elevação e camadas derivadas aos seus clientes. O gargalo nunca foi o voo: era tudo o que vinha depois. Conjuntos de fotos precisavam ser movidos à mão, processados em software desktop, conferidos, publicados em um servidor de mapas e acompanhados em planilhas, e cada etapa dependia de alguém que entendesse de SIG.

O objetivo era uma plataforma em que a equipe de operações submete um voo e as camadas prontas aparecem, com cada job visível e recuperável ao longo do caminho.

O que construímos

O Skyport é três coisas: uma aplicação web onde a equipe gerencia clientes, missões e ordens de serviço e submete novos conjuntos de fotos; uma API que detém o modelo de domínio e conversa com o storage; e um backend de processamento que faz o trabalho pesado. A aplicação web é um Next.js com mapas MapLibre, implantado na borda, com um fluxo de submissão offline-first para que dados de campo possam ser preparados antes de haver conexão. Um toolkit desktop cobre os casos em que submeter direto da máquina que guarda as fotos é mais rápido.

O backend é onde foi a maior parte da engenharia. Não há um servidor de jobs feito sob medida: cada etapa de processamento é um workflow n8n, e o Ordo fica acima do n8n como plano de controle. O Ordo valida cada job contra contratos de executores antes de rodar, registra jobs, etapas e artefatos como estado de primeira classe no banco e permite que os workers n8n reivindiquem etapas com segurança. A fotogrametria em si roda no Agisoft Metashape em uma frota de workers Windows. Cada worker mantém locks no MinIO com TTL, detecta um processo Agisoft em execução para evitar agendamento duplo, e um workflow reaper renova ou libera locks conforme a execução n8n dona ainda esteja viva. Os rasters finais são publicados no GeoServer e viram camadas que o cliente abre na manhã seguinte.

Por que importou

O Skyport é o projeto que tornou o Ordo necessário. Automação de workflow pura servia para as etapas individuais, mas não garantia que um job de várias etapas terminasse ou falhasse de forma visível, com seus artefatos contabilizados. Quando essa camada passou a existir, o resto da plataforma ficou entediante no melhor sentido: a equipe submete, a frota processa, o mapa atualiza.

Hoje o Skyport roda o pipeline de fotogrametria de produção da Skyforest, e o Sentinel vigia cada peça dele, dos workers n8n ao GeoServer.

Mais projetos

Todos os projetos