Skip to content

Caso de estudo · 2025

Industrial Productivity Tracking

Sistema de registo de turnos e produtividade para chão de fábrica, a correr em iPads de 2011 em modo quiosque, com fila offline e dashboards de gestão. Substituiu o registo em papel em 6 secções de produção.

Ecrã tátil de seleção de secção de produção
fig. 01 - Seleção de secção - interface tátil para as 6 áreas de produção

Contexto

Uma fábrica de mobiliário precisava de registar horas de turno, ordens de trabalho e produtividade em 6 secções de produção. O registo era feito em papel - propenso a erros e sempre atrasado face à realidade do chão de fábrica.

Os tablets disponíveis eram iPads 2 de 2011, presos ao Safari 9.3.5.

Problema

A leitura de atrasos, erros e produtividade por turno dependia de papel e de memória operacional. A gestão não tinha forma de ver quem estava ativo, onde estavam os estrangulamentos, nem o custo real por secção - sem esperar pelo fim do dia.

Restrições

  • Safari 9.3.5 (2011): sem frameworks modernos, sem transpilers - JavaScript ES5 puro.
  • A rede da fábrica cai: os registos têm de sobreviver a interrupções de até 30 minutos.
  • Limite de 3 pedidos/segundo da API do Notion, o backend de dados escolhido.

Decisões

  • Vanilla JS ES5 sem passo de build: a compatibilidade com o hardware real da fábrica valia mais do que qualquer conveniência de framework.
  • Fila offline em localStorage com backoff exponencial (5s → 10min) e expiração de itens aos 30 minutos - os trabalhadores continuam a registar mesmo sem rede.
  • Notion como base de dados (8 bases), com um sistema dinâmico de aliases de propriedades que sobrevive a migrações de workspace sem alterar código.
  • Migração do alojamento cloud (GitHub Pages + Render) para um container LXC no servidor Proxmox local: eliminou cold starts, reduziu latência e manteve os dados na rede da fábrica - sem downtime.

Abordagem técnica

Interfaces táteis dedicadas por secção (acabamento, estofagem, costura, pintura, preparação de madeira, montagem), com dedução automática de pausas. Backend Node.js 18 + Express 5 atrás de nginx, tarefas agendadas com node-cron, e administração remota via Tailscale.

O dashboard de gestão agrega os dados e apresenta trabalhadores ativos em tempo real, análise de desempenho e acompanhamento de custos com Chart.js.

Resultado

O registo de produção passou de papel para 100% digital nas 6 secções. A gestão consulta trabalhadores ativos, produtividade e custos em tempo real, e encontra estrangulamentos com muito menos fricção.

Formulário de registo de tempos de turno
fig. 02 - Registo de tempos - otimizado para toque em Safari 9
Dashboard de gestão com trabalhadores ativos e métricas de produtividade
fig. 03 - Dashboard de gestão - trabalhadores ativos, desempenho e custos

Limitações conhecidas

  • O rate limit do Notion (3 req/s) limita a concorrência prática a ~20–30 tablets.
  • A autenticação do dashboard é apenas client-side (sessões server-side planeadas).
  • Sem HTTPS na rede local - assume-se um ambiente de confiança.

Aprendizagens

  • Restrições duras simplificam decisões: com hardware de 2011, a solução mais compatível era também a mais simples de manter.
  • Em chão de fábrica, offline-first não é um extra - é o requisito principal. A fila com backoff foi a peça que fez o sistema ser confiável.
Industrial Productivity Tracking · Francisco Coelho