Skip to content

C3D Cortex — Proposta

Plano de evolução · Gabriel Fonseca

O C3D Cortex já funciona.
Agora precisa ficar seguro pra crescer.

Vocês criaram um CRM próprio, usado pelo time e conectado à operação real do CVD. Isso é raro e valioso. A próxima fase não é refazer o sistema — é proteger: histórico auditável, testes, monitoramento e um jeito simples de evoluir sem perder a autonomia no Lovable.

★ Decisão recomendada

Aprovar a primeira entrega:
Fundação + Observabilidade

R$ 5.900
ou R$ 5.310 à vista
Prazo: 14 dias úteis

Entrega única. Sem mensalidade depois — vocês só pagam quando abrirem nova demanda.

O que resolve
  • Reduz risco de quebrar automação do funil
  • Cria histórico auditável da jornada comercial
  • Testes + CI protegem mudanças futuras
  • Mantém o Lovable seguro pra ajustes simples
  • Alarme operacional (Sentry + Status Page) — sabe quando WhatsApp, login ou cadastro quebrar

Em 14 dias úteis, o que muda

Antes do mapa técnico, o resumo de impacto.

HojeDepois da primeira entrega
Automações podem quebrar sem aviso quando alguém mexe no funilCI e testes avisam antes do código chegar em produção
Histórico comercial difícil de auditarEventos com data, autor e status registrados
Lovable pode mexer onde não deveriaAGENTS.md protege áreas de domínio
WhatsApp ou cadastro caem e ninguém sabe até alguém reclamarSentry + Status Page alertam você antes da equipe
Mudanças futuras carregam risco invisívelBase pronta para demandas menores saírem rápido e seguras
Prova do diagnóstico

O mapa abaixo mostra de onde saíram os riscos e a primeira entrega recomendada. Não precisa ler tudo pra aprovar — está aqui pra você verificar quando quiser que entendemos o sistema de vocês.

Evento (algo que aconteceu)★ Marco da jornadaQuem disparaSistema externo🔥 Risco identificado
↔ Da captura do lead ao pagamento — role pra direita
Aquisição marketing puxa lead
ComercialMarketing
CampanhaCriada
CampanhaIniciada
WhatsApp / Evolution API

Campanha rodando à noite sem alerta se Evolution API cair. Pode disparar metade e parar — ninguém percebe até amanhã.

Conteúdo (esteira paralela)Marketing
DemandaCriada
AIDescricaoExpandida
OpenAI (edge fn)

IA edge function sem fallback — se OpenAI ficar fora, demanda fica “expandindo” indefinidamente sem timeout claro.

Lead chega
Qualificação lead entra no funil
ComercialAtendente
ClienteCreated
EmailDisparoLogged
SMSDisparoLogged
BaseStatusUpdated

Modelo de permissão amplo demais — qualquer usuário autenticado consegue ler leads de qualquer colega no banco.

Disparos SMS/email sem retry. Se Twilio/SES falhar 1 vez, lead some do aging — atendente não sabe que ficou descoberto.

Conteúdo
AnexoUploadado
AIImagePromptGerado
Oportunidade criada
Engajamento conversa + agendamento
ComercialComercialCliente
LeadTagged
LeadCasoAssigned
LeadMovedToEtapa
MensagemEnviada
ReuniaoAgendada
ReuniaoConfirmada
Microsoft Calendar

Cards “voltando” no Kanban quando 2+ usuários arrastam ao mesmo tempo — atualização em tempo real briga com edição local.

Apagar ou renomear uma etapa no Supabase quebra as automações silenciosamente. Nenhum erro aparece.

Número de WhatsApp +5513… hardcoded em 17 lugares como discriminador CVD vs IPGE. Trocar número quebra filtros silenciosamente.

Conteúdo
DemandaFinalizada

Anexo upload sem monitor de quota Supabase Storage. Estourar o tier free trava upload sem aviso.

Reunião realizada
Proposta sócio entra em cena
ComercialSócio / Advogado
HonorariosAltosMarked
PropostaEnviada

Não dá pra reconstruir quando uma proposta foi enviada nem por quem — só existe um “sim/não” mutável.

Convertido
Cobrança caixa entra
ComercialAdmin
NegocioPerdido
Asaas (gateway)

Ranking de “Motivo da Perda” no relatório pode ficar inconsistente — o motivo é texto livre dentro do campo de anotações.

Asaas sync depende de webhook único. Se webhook falhar, pagamento entra atrasado no dashboard. Sem fila de retry.

Pagamento
Pós-venda onboarding
Comercial
TarefaCriada
TarefaConcluida
ConversaArquivada

App pesado em celular — abre a tela toda de uma vez, mesmo as partes que o usuário não usa.

Tarefas pendentes sem auto-escalada. Se atendente atrasar, ninguém é avisado automaticamente — bola pode cair sem alarme.

O que fica com o Lovable · o que fica comigo

LovableAjustes simples de tela
  • Trocar texto, label, cor
  • Adicionar campo básico no formulário
  • Ajustar filtro ou ordenação
  • Mudança visual rápida

Vocês continuam autônomos pra isso. Não cobro.

GabrielMudanças que mexem com regra, dado, segurança ou integração
  • Nova regra de negócio ou automação
  • Integração com sistema externo
  • Controle de acesso ou histórico auditável
  • Refatoração estrutural

Cada demanda vem com preço fechado, prazo, escopo e critério de aceite antes de começar. Uso agentes de IA pra acelerar análise e testes — mas quem revisa, entrega e garante sou eu.

Antes de tudo: o alarme do seu sistema

A primeira coisa que você sente quando algo quebra é a equipe reclamando — WhatsApp fora, integração caiu, formulário não salva. Hoje você está cego até o cliente final perceber. Vamos primeiro entender o caso, o custo, e como seria com o alarme no ar.

Hoje · reativo”O WhatsApp parou de novo”

Você descobre quando a Fernanda manda no grupo. O problema já durou 30min–4h. Liga pro time sem contexto, sem stack trace. Cliente já reclamou — alguns desistiram em silêncio.

MTTD médio sem monitoring: 5+ horas
Com Sentry · proativo”Webhook do WhatsApp parou às 14:01”

Email/Slack na hora. Vem com erro, linha, usuário e contagem. Você fica sabendo antes da equipe — resolução em minutos, não horas.

MTTR -82% em casos reais (Lowe’s SRE)

💸 Quanto custa não ter o alarme?

Cenários reais pra escritório 5–10 pessoas. Uma única falha invisível paga 15–150× o investimento.

CenárioTempo invisívelCusto estimado
WhatsApp / Evolution API silenciosamente para de receber2–4h horário comercialR$ 3.000 – 30.000 em leads perdidos
Campanha agendada não disparajanela perdidaCAC desperdiçado R$ 500 – 2.000
Erro de salvamento em formulário (cliente desiste)até cliente reclamar1 cliente = R$ 3.000 – 15.000 em honorários
Relatório com dado errado → decisão erradaaté auditoriaimensurável + dano de imagem

Exemplo: este é o widget que você vai ter

3 estados possíveis. Sempre em tempo real. Você vê de um lugar só se algo está quebrado agora — e o que fazer.

Operacional14:23 · ao vivo
Tudo certo
Sistema operacional em todos os componentes nas últimas 24h.
CRM · Cadastro de clientesOK
WhatsApp · MensagensOK
Upload de documentosOK
Autenticação · LoginOK
O que fazer agora: Nada. Pode trabalhar normal.
Desempenho degradado14:23 · ao vivo
Lentidão parcial
WhatsApp respondendo lento. Resto do sistema normal.
CRM · Cadastro de clientesOK
WhatsApp · MensagensLento · desde 14:08
Upload de documentosOK
Autenticação · LoginOK
O que fazer agora: Aguardar atualização em 30min. Gabriel já foi notificado por email.
Incidente em andamento14:23 · ao vivo
WhatsApp fora do ar
Webhook do Evolution API parou de receber mensagens às 14:01. Gabriel notificado, previsão de retorno em 30min.
CRM · Cadastro de clientesOK
WhatsApp · MensagensFora do ar · desde 14:01
Upload de documentosOK
Autenticação · LoginOK
O que fazer agora: Não precisa avisar a equipe — eles já vão ver aqui. Acompanhe esta página.
✓ Incluído na primeira entregaSentry + Status Page · alarme operacional

SDK instalado no app, alerta por email pra você, página pública de status com 3 estados. Free tier — zero custo recorrente. Entrega em paralelo com a Fundação, sem demanda separada.

Nota: se um dia for contratada separada (escopo isolado, sem Fundação), custaria R$ 1.800.

✓ O que o Lovable acertou — não é tudo errado

Antes da gente apontar problemas, vale reconhecer o que está bem feito. Subir um CRM funcional em semanas, usado pela equipe, com Supabase real e WhatsApp integrado, é resultado concreto. A base existe — e a gente vai construir em cima dela, não jogar fora.

  • Um log de mudanças já existe (lead_change_history) — a intenção de auditar está lá, só falta consistência.
  • Um módulo de domínio honesto (baseStatus.ts) — é o cheiro de boa engenharia que a gente vai expandir pro resto.
  • Cache compartilhado em hooks (useCasos) — embrião do padrão certo, pronto pra virar repository.

O que vai doer primeiro — e por quê

Traduzido em linguagem de quem usa o sistema, não jargão de dev. Tudo abaixo está documentado com arquivo e linha (clique pra ver o código real).

Curto prazo
Kanban precisa ficar confiável com várias pessoas usando ao mesmo tempo

Quando 2+ pessoas arrastam cards simultaneamente, a atualização em tempo real pode sobrescrever a edição local. Card volta pra posição anterior sem aviso. Cresce com o time.

Médio prazo
Indicadores comerciais precisam vir de dados estruturados, não texto livre

Motivo de Negócio Perdido vive em campo de anotações. Ranking é montado por busca de texto — edição manual deixa indicador inconsistente. Decisão estratégica em base instável.

Dependência frágil
O funil precisa poder mudar sem quebrar regras internas

Regras como “ao chegar nessa etapa, marca Reunião Realizada” estão amarradas a identificadores fixos. Renomear ou recriar etapa no Supabase para a automação sem log de erro.

Controle de acesso
Permissões precisam acompanhar a realidade de uma operação jurídica

Visibilidade do banco hoje libera amplo — comum em MVPs que foram pro ar rápido. Em 30+ tabelas, usuários conseguem ler dados que poderiam ficar restritos por perfil. Vale formalizar agora.

Trilha auditável
A jornada comercial precisa deixar trilha auditável

“Proposta enviada” hoje é interruptor binário. Sem data, sem autor. Pra contestar prazo ou auditar conversão, não tem como reconstruir o caminho do lead.

Mobile
O uso mobile precisa ficar leve pra rotina do time

Cada tela carrega o código de todas as outras junto. Em rede 4G/3G, tela branca de 5-8s. Time campo (advogado em audiência) sente fricção real.

▸ Ver trechos do código real (pra quem quiser checar)
src/pages/Kanbans.tsx:1638–1648 — identificadores fixos como regra de negócio
if (["28825e53-...", "45a84a63-..."].includes(finalEtapaId)) {
payloadUpdate.reuniao_agendada = true;
}
if (finalEtapaId === "3bf8ad5a-...") {
payloadUpdate.convertido = true;
}
supabase/migrations/…/e6ec41b6-…sql:8 — regra de privacidade frouxa
CREATE POLICY "Allow all access to campaign status"
ON public.admin_campaign_status
FOR ALL TO anon, authenticated
USING (true) WITH CHECK (true);

”Posso continuar editando no Lovable depois que vocês entrarem?”

Sim. Foi por isso que a gente desenhou o trabalho desse jeito.

A maior preocupação de quem subiu produto no Lovable é justamente essa: medo de “perder a chave do carro”. A boa notícia é que o Lovable e o GitHub conversam nos dois sentidos — o que a gente faz no código aparece pra você no Lovable, e o que você muda no Lovable a gente vê no GitHub. O trabalho é fazer essa convivência acontecer sem regressão. Existem 4 mecanismos pra isso:

1AGENTS.md como contratoA gente coloca um arquivo na raiz que o Lovable lê toda sessão. Lista o que ele NÃO pode mexer (camada de domínio, regras de privacidade). Não é trava técnica — é instrução respeitada na maioria das vezes.
2Prompts cirúrgicosA gente te ensina a falar com o Lovable apontando o arquivo específico (@CRMCard.tsx). Reduz o risco de ele mexer no que não deve.
3Branch separada pro nosso trabalhoRefatoração roda em ramo isolado. Merge pra produção passa por revisão. Você nunca vê o sistema piscando enquanto a gente trabalha.
4Plan Mode obrigatórioPra qualquer mudança grande no Lovable, modo de revisão ligado. Você vê o que ele vai fazer antes de ele fazer.

Resultado: você continua produtivo no Lovable pro dia-a-dia (ajuste de tela, copy, cor, campo novo simples). Eu entro pras coisas que o Lovable não consegue fazer sozinho sem quebrar coisa — regras de domínio, privacidade, refatoração estrutural.

O que eu vou fazer

Cada item resolve uma dor mapeada acima. Não é refatoração à toa — é endereçar exatamente o que pode dar problema, na ordem que importa.

resolve dor #5Histórico auditável de cada oportunidadeToda mudança (proposta enviada, reunião realizada, conversão, perda) passa a ter data, autor e justificativa registrados. Vocês conseguem reconstruir a jornada de qualquer cliente quando precisar. Tecnicamente: log único de eventos de domínio substituindo flags booleanas.
resolve dor #3Mexer no funil para de quebrar automaçãoTime pode renomear ou reorganizar etapas no Supabase sem medo. Se algo ficar inconsistente, erro aparece imediatamente em vez de virar bug silencioso. Tecnicamente: etapas resolvidas por nome no boot, UUIDs hardcoded removidos.
resolve dor #4Cada perfil vê o que precisa, nada alémAdmin vê tudo. Comercial vê a carteira dele. Marketing vê o que faz sentido pra trabalho de campanha. Controle compatível com boas práticas pra operação jurídica. Tecnicamente: Row-Level Security parametrizado por papel.
resolve dor #6App abre rápido no celularTela inicial passa de 5-8s pra 1-2s em 4G. Time campo (advogado em audiência) deixa de sofrer com tela branca. Tecnicamente: code-splitting + lazy loading por rota.
resolve dor #1Cards param de “voltar” no KanbanQuando 2-3 pessoas usam o Kanban ao mesmo tempo, o arrastar continua firme. Sem retrabalho, sem confusão. Tecnicamente: reconciliação entre Realtime e edição otimista.
base técnicaMudança no banco pega erro antes da produçãoAlterar uma tabela no Supabase deixa de ser risco — se algo quebra a app, o build avisa antes do deploy. Menos hotfix de madrugada. Tecnicamente: tipos do Supabase gerados, 218 as any removidos.

Como funciona

Primeiro a gente protege o que já funciona. Depois, evolui por demanda — sem contrato mensal e sem complicar a operação de vocês.

1Vocês aprovamPrimeira entrega: Fundação + Observabilidade. Deixa o sistema mais seguro, monitorado e preparado pra evoluir.
2Eu entrego em até 14 dias úteisCódigo no repositório de vocês, testes, documentação curta, ambiente de validação e handoff de 30min. Normalmente menos — prefiro prometer com margem.
3Depois, seguimos por demandaSem mensalidade. Quando precisarem de algo, vocês pedem, eu avalio, mando preço fechado e só começo com aprovação.

Depois da primeira entrega

Não tem mensalidade.

Quando vocês quiserem evoluir o C3D Cortex, abrem uma demanda pelo assistente. Ele faz as perguntas certas, eu reviso o escopo, mando preço fechado e só começo depois da aprovação de vocês.

Ajustes simples continuam no Lovable. Mudanças que envolvem regra de negócio, dados, segurança, integração ou estabilidade ficam comigo.

O assistente organiza. Gabriel revisa, executa e garante.

Ver exemplos de demandas futuras (referência)

Cada caso é avaliado individualmente — não tem preço de tabela. Pra orientação geral: ajuste simples no Lovable (campo, label, ordenação) vocês fazem direto. Mudanças intermediárias (nova tela, integração simples, automação) costumam ficar entre R$ 1.200 e R$ 2.800. Refatoração estrutural ou integração com sistema externo (tipo Tribunal) costuma ficar entre R$ 4.500 e R$ 9.000. Sempre com preço fechado antes de começar.

Detalhes da entrega aprovada

O que está dentro da Fundação + Observabilidade. Mesma decisão do topo — aqui só o detalhamento.

Carregando primeira entrega…

Pipeline ao vivo

Todas as demandas, em todos os estágios. GitHub Issues como banco de dados, UI dedicada pra leitura. Sempre fresco — clique no card pra ver tudo no GitHub.

Carregando pipeline…

Abrir nova demanda

Conversa com nosso assistente de demandas (apoio de IA, revisão humana), 4–6 perguntas, e ao final ele cria o issue no GitHub com escopo + preço sugerido. Gabriel revisa, confirma preço, e te avisa pelo WhatsApp.

● onlineAtendimento — Gabriel FonsecaAssistente de demandas · C3D Cortex
Olá! Sou o assistente de demandas do Gabriel Fonseca. Me conta em poucas palavras: o que você precisa mudar no C3D Cortex? Pode ser feature nova, bug, ou melhoria. Vou fazer 4-6 perguntas pra entender e mostrar uma proposta com preço sugerido — você revisa antes de virar pedido.
Você revisa cada proposta num popup antes de virar pedido. Nada é gravado sem sua confirmação.

Garantias

Modelo informal demais machuca os dois lados. Aqui é por escrito.

refazemos
Não ficou como combinado? Refaço sem custoAplica ao escopo aprovado no intake. Não cobre: mudanças feitas depois no Lovable, banco ou requisitos — entram como nova demanda.
atrasou? crédito
Passou do prazo sem aviso? 20% de créditoAplica ao prazo combinado (14 dias úteis pra primeira entrega). Não cobre: bloqueio aguardando você (>24h pra responder) ou mudança de escopo no meio.
métrica degradada
Widget caiu nos primeiros 60 dias? Eu corrijoAplica a métricas listadas no widget de saúde da entrega. Não cobre: alterações no Lovable em áreas protegidas pelo AGENTS.md, ou mudança em dependência terceira (Supabase, Evolution API).
repositório seu
Você é dono do código e da documentaçãoToda entrega vem com PR, descrição em PT-BR claro e checklist técnico. Trocar de fornecedor um dia: leva tudo sem dependência de mim. Chaves de API ficam na sua conta, não na minha.

Quem faz

Sem terceirização. Quem responde mensagem, precifica e escreve código é a mesma pessoa.

GF

Gabriel Fonseca

Senior Backend & AI Engineer · 10+ anos em produção

Engenheiro de software brasileiro com mais de 10 anos construindo e escalando SaaS, apps e automação pra startups e PMEs. Já entregou sistemas em produção que tocam pagamento, logística e operação diária de negócio não-técnico. Nos últimos 4 anos focado em agentes de IA e automação que tiram trabalho repetitivo de times de atendimento, financeiro e vendas — exatamente o que vai mover o C3D Cortex.

Node.jsTypeScriptPythonFastAPIReactSupabase / PostgresAWSReact Native / FlutterAI Agents
10+anos em produção
11anos rodando produtos próprios
lugar Startup Cidadã · Prefeitura de Santos
4anos foco em IA aplicada

Pronto pra proteger o C3D Cortex?

Entrega única. Sem mensalidade depois. Vocês só pagam quando abrirem nova demanda.

Aprovar primeira entrega — R$ 5.310 à vista →

Prefere revisar antes? Revisar em call de 30min · gabryelfs@gmail.com