Developer Business OS 2026
Obrivo
Centro de comando local para programadores. Liga projetos, Git, Docker, planeamento, clientes, vendas e finanças numa só aplicação, a correr na própria máquina.
O projeto
O Obrivo junta o lado técnico e o lado comercial do trabalho de um programador numa aplicação web local. Descobre os projetos na pasta de trabalho, lê o histórico Git de cada um, deteta a tecnologia e a configuração Docker, e liga tudo isso a entregas, foco, finanças e vendas.
Cada projeto tem páginas de resumo, tarefas, marcos, Git, finanças, detalhe técnico, cronologia e notas, com uma pré-visualização capturada do site a correr. À volta disso há quadros de tarefas, planeamento diário, semanal e mensal, registo de pagamentos e contratos de manutenção, e um pipeline de vendas com contactos, ofertas, modelos de mensagem e propostas versionadas.
O núcleo não precisa de conta na cloud, de ligação ao GitHub nem de chaves de API. Os dados dos projetos, as estatísticas de Git e as miniaturas ficam guardados localmente.
Direção visual.
A interface segue as orientações de design da Apple: tipografia do sistema, escala de texto em rem, barras e painéis translúcidos, superfícies em cartão e molas interrompíveis nas transições. Há tema escuro por omissão, claro e de sistema, sobre uma base verde-azeitona, com cores de gráfico validadas. A interface respeita as preferências de movimento e transparência reduzidos.
Tipografia
- SF Pro
- SF Mono
Cores
- #161C0D
- #C7D59F
- #40531A
- #FAFCF3
Por dentro.
-
01
É um único repositório Laravel 13 com páginas Inertia 3 em Vue 3.5 e TypeScript, sem serviço de frontend separado nem API REST pública. A lógica de negócio vive em serviços com uma responsabilidade cada, e os controladores validam com Form Requests.
-
02
Corre em cinco serviços Docker: nginx, PHP-FPM, fila, agendador e PostgreSQL 18. Fila, cache e sessões usam os drivers de base de dados do Laravel, sem Redis. A porta web só fica exposta em 127.0.0.1 e a base de dados não é exposta.
-
03
A análise de Git usa apenas dados locais e nunca faz fetch. Os comandos passam pelo Symfony Process com listas de argumentos, só de leitura, com hooks, fsmonitor, pagers e credential helpers desativados. O histórico fica em cache na base de dados e um agendador verifica uma impressão digital de cada repositório a cada minuto.
-
04
A pasta de trabalho é montada só para leitura e tratada como entrada não confiável: os caminhos são canonicalizados e têm de ficar dentro da raiz, os ficheiros .env nunca são lidos e nenhum código dos projetos analisados é executado durante a análise.
-
05
As miniaturas dos sites são capturadas a 1440 × 900 por Chromium com puppeteer-core dentro do serviço de fila. Um launcher em Python no anfitrião arranca as stacks Compose dos projetos, sem montar o socket do Docker.
-
06
Os valores monetários são inteiros em unidades mínimas, separados por moeda. A suite PHPUnit corre em SQLite em memória com pastas de trabalho e repositórios Git temporários, e o launcher tem testes próprios em Python.
Projeto privado. Posso mostrá-lo numa chamada.