Berg Enterprise · bergenterprise.com.br · 26 de agosto de 2026
A planta do ecossistema
Doze apps, um login, dois universos de organização e um banco que
decide sozinho quem pode ler o quê. Este é o desenho de como as peças
se ligam — não a lista do que existe.
12apps em produção
51functions node
57rotas /api/
59tabelas
7crons diários
0passos de CI
01Quem fala com quem
O navegador conversa direto com o banco. A Netlify entra só
onde o navegador não pode ir: segredo, e-mail, cron, IA, cross-org.
caminho do usuário — vale a RLS
caminho privilegiado — service role
volta do servidor — realtime
A autorização não está no app — está no banco. Se a tela some
com um botão, isso é exibição; o que a pessoa pode de fato ler e gravar é
decidido pela RLS, no mesmo lugar, pra todos os doze apps. Por isso o
caminho verde é o normal e o âmbar é a exceção: cada função com service
role tem que reimplementar o portão sozinha.
02Os doze apps
Dois padrões de frontend, um só login. A cor da rota diz em qual
universo de organização o app pensa.
A mesma base para empresas, mais a aba Clientes (CRM-lite).
React · repo próprio
/pesquisas/
Questionários
LIDER/Big Five 270 questões em PT/EN/ES, NR-1, 360°, clima.
HTML puro
/money/
Abelha
Tesouraria e finanças pessoais, NFS-e, boletos, backup diário provado.
HTML puro
/daytracker/
Bem-te-vi
Registro de atividades do dia com análise por IA.
HTML puro
/tasktracker/
Formiga
Kanban por departamento, com lembrete de prazo por e-mail.
HTML puro
/agenda/
Agendamentos
Espaços, aulas fixas e reservas — a fonte única de “lugar”.
HTML puro
/vocacional/
Vocacional
Orientação de carreira com devolutiva escrita por IA.
HTML puro
/site/
Site
Espelho editável do site público da org: arrasta a foto, troca no ar.
HTML puro
/admin-org/
Admin Org
Orgs, planos, estoque de testes e o console cross-org do super-admin.
HTML puro
/diagnostico/
Diagnóstico
Saúde do sistema, audit log, disparos manuais, socorro de dados.
HTML puro
/suporte/
Suporte
Atendimento ao vivo com secretária IA que escala pro humano.
HTML puro
03Os dois universos de organização
O ponto mais importante do banco, e o que mais custou caro quando
foi esquecido: a mesma igreja tem dois identificadores.
Toda consulta que atravessa apps passa pela ponte. Usar o
identificador de um universo numa consulta do outro não dá erro: dá lista
vazia, que tem cara de “essa org não tem nada”. Na dúvida, resolva pelo
nome e diga qual universo você quer.
04Como uma mudança vai ao ar
Não há integração contínua. O push no main do repo de
deploy é o deploy — e é isso que cria a única janela perigosa do processo.
É essa defasagem que dita uma regra de código inteira. Entre o
deploy e o SQL existe uma janela em que o app já pede uma coluna que o banco
ainda não tem — e o PostgREST derruba o salvamento inteiro por causa dela.
Por isso campo novo entra condicional: se ninguém falou dele, ele não vai
na gravação.
05O dia do sistema
Sete rotinas automáticas, todas por e-mail, todas com registro no
banco pra não mandar duas vezes. Horários em Brasília.
Repetir o disparo é seguro. Cada rotina grava no banco quem já
recebeu naquele dia, então re-disparar só completa quem ficou de fora — é o
que permite a segunda tentativa das 8h30 existir sem risco de e-mail
duplicado. Uma oitava rotina existe e não está nesta linha: a
cobrança de confirmações de presença teve o cron desligado em julho —
no plano grátis do Resend ela competia com os magic links de login — e
hoje só sai pelo botão “Cobrar confirmações” dentro do evento.
06De quem o ecossistema depende
Cinco fornecedores. Nenhum deles guarda a verdade do negócio — ela
está toda no Postgres.
ResendTodo e-mail que sai, dos avisos de escala à mensagem de aniversário.
Anthropic · ClaudeAnálise do Bem-te-vi, devolutiva do Vocacional, secretária do suporte, assessor do Money.
MapboxEndereço vira coordenada; o mapa de calor da igreja.
eNotas GatewayEmissão de NFS-e a partir do Money.
BrasilAPI · ViaCEPCNPJ e CEP, consultados direto do navegador.
GitHub ActionsSó como segunda chance do cron matinal. Não builda, não testa, não publica.