Cisterna de recolha de leite encostada a um estábulo numa quinta, com vacas leiteiras junto à vedação.

Estudo de caso · Logística de recolha de leite

DigiCampo

Do livro de guias em papel a cada litro provado ao segundo — em produção numa frota de cisternas real.

Estado
Em produção
A correr todos os dias, em turnos reais.
O que construímos
2 apps · 1 base
Motorista e gestor, sincronizados em tempo real.
Do arranque à produção
~7 semanas
Núcleo operacional a funcionar de ponta a ponta.

uma solução Revenue Precision · Região de Santarém

A camada digital

A operação não muda. O que ela sabe sobre si própria, muda.

Os mesmos camiões, as mesmas quintas, a mesma báscula. Por cima, uma camada que regista, prova e mostra — sem pedir a ninguém que passe a trabalhar de outra maneira.

Cisterna de recolha estacionada junto a uma quinta, numa rua de calçada. Volta 804 · 9 paragens Chegada prevista 14:20
Transporte
& Volta
Camada
digital
Operador junto ao ponto de recolha de uma quinta, a ligar a mangueira ao tanque. PR-1204 · 3 050 L 4,2 °C · pH 6,7
Recolha
& Produtor
Camada
digital
Mostrador da báscula do cais a indicar 39 100 quilos. Báscula · 39 100 kg Diferença −45 L
Pesagem
& Prova
Camada
digital

A operação

Três cisternas, oito voltas, e um livro de guias em papel.

A recolha já funcionava. O que não funcionava era saber, durante o dia, o que estava a acontecer.

O volume, a temperatura e o pH ficavam escritos à mão; a guia seguia no camião; o escritório só via o dia depois de o dia acabar. E a capacidade da cisterna — a única coisa que não se negoceia com um produtor — descobria-se na estrada.

Atraso

Os dados chegavam ao fim do dia.

Enquanto o turno decorria, ninguém sabia onde estava cada camião, em que paragem ia, nem quantos litros levava.

Prova

O registo era uma folha.

Sem hora certa, sem coordenadas, sem forma de mostrar a um produtor em disputa o que foi recolhido, quando e a que temperatura.

Capacidade

A cisterna enchia sem aviso.

Um camião que enche antes da última paragem deixa leite para trás. O problema só aparecia quando já era caro resolvê-lo.

Talão de recolha preenchido à mão: Tanque 1 mil litros, Tanque 2 novecentos e noventa e um, total mil novecentos e noventa e um litros, temperatura 3,9 graus. Guia manuscrita

Um talão real desta operação. Litros e temperatura escritos à esferográfica — sem hora, sem coordenadas, sem cópia até chegar ao escritório.

Vacas leiteiras atrás de um portão metálico junto à manga de ordenha, com os tanques de refrigeração ao fundo.
Onde o leite espera. O tanque de refrigeração da quinta. É dele que sai o volume, a temperatura e o pH que vão para a guia.

O que construímos

Duas aplicações sobre a mesma base de dados.

Uma para quem está na estrada, outra para quem está no escritório. Escrevem e leem a mesma verdade, ao mesmo tempo. Nada é exportado, reconciliado ou copiado entre sistemas.

App do motorista

Um telemóvel, uma mão, ao sol.

Instalada em Android e utilizável como PWA. Todo o turno é um fluxo em linha reta: entrar, escolher camião e volta, registar cada paragem, imprimir a guia, pesar no cais, fechar.

  • Alvos de toque de 48–56 px — funciona com luvas.
  • Tema claro e escuro, comutável a meio do turno.
  • Mapa com tiles vetoriais offline; posição escrita em segundo plano.
  • Interface inteiramente em português europeu.

Painel do gestor

A frota inteira, num ecrã.

Mapa ao vivo, um cartão por camião em turno, e uma barra de alertas. Planeamento de voltas, produtores, camiões e histórico vivem no mesmo sítio.

  • Uma recolha confirmada aparece no painel em menos de 2 s.
  • «Visto pela última vez» fica âmbar aos 5 min, vermelho aos 15.
  • O indicador de ligação diz a verdade — se o canal cai, di-lo.
  • Editor de voltas com volume acumulado e aviso de enchimento.

A recolha

Um ecrã. Menos de 30 segundos. Sem rolar até ao botão.

É a restrição a que todo o ecrã de captura obedece: o motorista está de pé numa quinta, com a mangueira na mão. Volume, temperatura, pH, GPS e guia impressa num só passo — e o botão de confirmar sempre visível.

Guia de recolha
Volta 804 · Paragem 4 de 9 · Via do produtor
Volume
3 050 L
Temperatura
4,2 °C
pH
7,2
Chegada · saída
08:14 · 08:23
Acumulado da volta
7 450 L
Marcações
pH acima do intervalo
39,2361° N · 8,6868° W · ±6 mImpresso 08:23

Exemplo ilustrativo. A marcação chega ao documento — é ela que o regulador quer ver.

O que fica registado em cada paragem

Volume

Cursor rápido com as bandas normais do produtor, mais entrada numérica exata. O cursor é para a velocidade; o teclado é para a verdade.

Temperatura e pH

Lidos no instrumento. Fora de 2–6 °C ou 6,5–7,0, a leitura fica marcada — nunca bloqueada nem corrigida.

Localização

Coordenadas com precisão e idade do sinal à vista. Se o sinal está fraco, a app di-lo; não esconde.

Guia impressa

Duas vias — produtor e motorista — com QR, por Bluetooth. Uma guia que não imprimiu fica visivelmente por imprimir nas duas apps.

Volume
3 050 L
Temp.
4,2 °C
pH
7,2

As mesmas três leituras, no ecrã de captura. A borda carrega o estado, nunca a cor do texto sozinha — ao sol e com daltonismo, o tom desaparece. O pH acima do intervalo é registado e marcado, nunca bloqueado nem corrigido.

Uma recolha confirmada é imutável. É garantido pela base de dados, não pela interface — por isso não existe botão de editar em lado nenhum. Uma correção faz-se com nota e mensagem ao gestor, e fica registada como tal.

Capacidade

A cisterna enche na paragem 8. Isso passou a saber-se na segunda-feira.

Cada volta é uma sequência ordenada de paragens com um volume esperado. Somados contra a capacidade do camião atribuído, dizem exatamente onde a cisterna deixa de caber.

Volta 804 Cisterna AF-87-HB · 3 câmaras · 16 500 L Previsto 18 930 L em 9 paragens
1PR-10421 240 L
2PR-11182 180 L
3PR-1173980 L
4PR-12043 050 L
5PR-12461 620 L
6PR-12872 410 L
7PR-13012 900 L
8PR-1355 — enche aqui3 100 L
9PR-13901 450 L
Enche na paragem 8 de 9 — sobram 2 430 L sem lugar na cisterna.
Com o aviso no planeamento, a volta reordena-se, divide-se ou muda de camião antes de sair do cais. Ao registar um volume acima da capacidade que resta, a app não bloqueia o motorista: grava a realidade e marca a recolha. Quem está na quinta com leite na mangueira não pode ser impedido de registar o que aconteceu.

Volta ilustrativa com números representativos. Referências de produtor anonimizadas.

Sem rede

Nas quintas não há sinal. Isso não é uma desculpa.

Cada escrita entra primeiro numa fila local e só depois é enviada. A fila sobrevive ao fecho da aplicação e ao reinício do telemóvel, mantém a ordem — uma recolha nunca é enviada antes do turno a que pertence — e nada é descartado em silêncio.

O crachá de sincronização está sempre à vista e diz onde estão os dados: enviados, por enviar, a enviar, ou falhados. Tocar nele abre a fila, sempre.

«Sem sinal — guardado no dispositivo.» Nunca «Erro ao enviar». O motorista não tem culpa da cobertura, e a mensagem não o trata como se tivesse.

Fecho de turno

O turno fecha na báscula, não na confiança.

No cais, o camião é pesado cheio e vazio, cada pesagem com fotografia do mostrador guardada em armazenamento privado. A diferença convertida em litros confronta-se com o total registado na volta.

A variação aparece com sinal e comparada com o limiar da operação. Sem interpretação, sem arredondamento simpático — o número.

Registado na volta
15 840 L
Cheio − vazio
15 795 L
Diferença −45 L · dentro do limiar
Cisterna sobre a báscula do cais, vista de lado. Pesagem cheio · 39 100 kg
O turno fecha aqui Camada digital
Estábulo amplo de estrutura metálica com cornadis e vacas leiteiras ao fundo.

A frota

Três cisternas, duas séries de voltas.

As voltas estão presas ao tamanho do camião. O planeamento não oferece uma volta a um camião que não a leva — e no pátio fala-se por matrícula e por número, por isso é isso que os ecrãs mostram.

Matrícula
Câmaras
Capacidade
Voltas
53-LC-76
1 câmara
13 900 L
801 · 802 · 904 · 905
AF-87-HB
3 câmaras
16 500 L
804 · 805 · 901 · 902
43-59-VM
3 câmaras
16 200 L
804 · 805 · 901 · 902
Motoristas
3
Alternam voltas dia sim, dia não.
Região
Santarém
Quintas dispersas, cobertura irregular.
Temperatura
2–6 °C
Fora do intervalo fica marcado.
pH
6,5–7,0
Registado em cada recolha.

O que mudou

O mesmo trabalho, com prova.

Os motoristas fazem as mesmas voltas e param nas mesmas quintas. Mudou o que fica registado, quando chega ao escritório, e o que é possível responder quando alguém pergunta.

IndicadorAntesCom o DigiCampo
Dados no escritórioNo fim do dia, com o livro de guiasSegundos após confirmar
Registo por paragemGuia manuscritaMenos de 30 s no telemóvel
Prova de local e horaNenhumaGPS com precisão e idade do sinal
Leituras fora do intervaloEscritas, sem verificaçãoRegistadas e marcadas no documento
Capacidade da voltaDescoberta na estradaConhecida no planeamento
Reconciliação de fim de turnoÀ mão, por memóriaCheio − vazio, com foto da báscula
Quebra de redeVolta ao papelFila local, enviada por ordem

Como está construído

Next.js 16 · App Router React 19 + TypeScript strict Supabase · Postgres, RLS, Realtime, Storage Capacitor 8 · Android Leaflet + pmtiles/protomaps offline Bluetooth LE · impressão de guias PHC · leitura, através de ponte autenticada Vercel · dois projetos, um repositório

Ninguém pediu um sistema de informação. Pediram para saber, ao meio-dia, quanto leite já vinha a caminho.

Resolve-se por desenho, não por disciplina.

Falar sobre a vossa operação →