Engenheiro de Software Sênior → Head de Tecnologia · Set 2020 – Ago 2024 · Treze pessoas — engenharia, QA, UX e suporte.
Um SaaS brasileiro de nutrição: nutricionistas montam planos alimentares, seus pacientes os seguem, e os dois públicos dividem uma única base de identidade. A plataforma vai de um monolito de dez anos a uma geração mais nova de serviços erguida ao lado dele.
Como o time trabalha
De um deploy noturno a vários por dia
Trouxe Scrum e trunk-based development. Deploy em horário comercial deixou de ser evento.
Uma migração de pagamentos que ninguém notou
Planejei e conduzi a migração de milhares de assinantes ativos de Iugu para Pagar.me, sem pausa na receita.
Custo de nuvem como problema de engenharia
Fiz uma revisão de custos no ambiente Azure — sem congelar entregas para bancar a economia.
Reportar engenharia na língua da diretoria
Passei a levar métricas DORA e um roadmap à diretoria, para que o investimento em tecnologia fosse defendido com evidências, não com convicção.
Dietbox Webapp
Nenhuma das APIs de hoje existia. Tudo começou aqui dentro.
O monolito que atendeu nutricionistas e pacientes antes de existir qualquer outro serviço, com deploy uma vez por noite porque essa era a única janela que parecia segura — e a base de código ao lado da qual uma geração mais nova de serviços cresceu desde então.
Uma conta só leva a pessoa a todos os cinco sistemas do produto — o app da nutricionista, os apps Android e iOS do paciente, o produto web e o checkout — em dois públicos que não dividem mais nada. Políticas customizadas de Azure AD B2C por trás: login federado, migração silenciosa da base legada e revogação que encerra sessões já abertas.
Azure AD B2CIdentity Experience FrameworkXMLOpenID ConnectOAuth 2.0.NET 6HTMLCSSAzure DevOps
Engenheiro de Software Sênior, depois Head de Tecnologia · 2021–2024
Assinaturas e cobrança recorrente, atrás de um checkout próprio.
O serviço que carrega a receita: comandos de assinatura de um lado, um endpoint de webhook por gateway do outro, e dois gateways de pagamento em pacotes próprios — com um checkout em Vue na frente.
O back office que passou a operação do produto para o time de operações.
A ferramenta interna com que a empresa opera o produto. Cancelar uma assinatura, conceder uma especial, emitir um voucher, importar o catálogo de alimentos de um arquivo, mudar os limites de um plano, publicar um banner, limpar o cache de uma nutricionista — quarenta e quatro ações em dez áreas, e cada uma delas antes era um chamado para um engenheiro.
Tudo o que o produto envia para fora, movido para um serviço próprio.
Um serviço isolado que passa a ser o dono da mensageria de saída: envia as notificações de WhatsApp da profissional e guarda o registro de cada uma. Construído ao lado do produto, e não dentro dele, para que um problema de custo não precisasse ser resolvido dentro de um código que já era complexo demais para tocar com segurança.
.NET 6C#CQRSSQL ServerWhatsApp Business APIAzure DevOps
Chat entre a nutricionista e o paciente, e qualquer outra coisa que precise chegar agora.
O servidor de sockets por trás de duas funcionalidades: o chat que a nutricionista e o paciente mantêm dentro do produto, e as notificações que a plataforma precisa entregar numa tela que já está aberta. Uma sala por usuário, um handshake com segredo compartilhado e um endpoint para onde o resto da plataforma posta.
Head de Tecnologia · Abr 2026 – Atual · Três engenheiros — dois herdados na chegada, um contratado em maio de 2026.
A plataforma de tecnologia interna da universidade, construída do zero por um time pequeno: um service desk de TI em produção, um ERP substituindo os sistemas legados, um CRM assumido e reconstruído, dashboards administrativos, um painel para os alunos e a automação de datacenter em que tudo isso é publicado.
Como o time trabalha
O trabalho entra por uma fila só
Tarefas e bugs vão para o Linear, que é também de onde os agentes de código retiram trabalho. Um engenheiro cuida do service desk, outro do ERP e outro do CRM; a liderança atravessa os seis sistemas.
O time especifica e revisa
A implementação é em boa parte gerada. O que os três engenheiros fazem no dia é escrever a especificação antes do trabalho começar e revisar o que volta — a vazão veio de deslocar a atenção humana da digitação, não de somar gente.
A entrega é medida da mesma fila
Uma instância do Metabase lê o Linear por um sidecar de ETL, então a vazão do próprio time fica visível no mesmo lugar em que estão os números dos sistemas. O modelo de trabalho é instrumentado, não apenas afirmado.
Ulbra Atende
Service desk de TI de uma universidade, no lugar do GLPI.
O service desk de TI de uma universidade, substituindo o GLPI como canal único de entrada: SLA por time, fluxos de aprovação, templates multi-etapa e um servidor MCP que deixa a equipe trabalhar chamados pelo Claude ou ChatGPT com as próprias permissões.
Head de Tecnologia — design & implementação · Abr 2026 – Atual
Privado
Ulbra One
O ERP que está sendo construído para tirar a universidade do Senior.
A universidade roda a operação interna no Senior. Este é o sistema que está sendo construído para substituí-lo — um monólito modular em .NET sobre PostgreSQL com front-end em React. Em teste, antes do lançamento.
.NET 10PostgreSQL 17EF CoreReactTailwindshadcn/ui
Head de Tecnologia · Jun 2026 – Atual
Privado
Ulbra CRM
Onde a universidade trabalha os leads da próxima entrada de alunos.
A plataforma em que a universidade capta e trabalha leads de futuros alunos. Herdada sem testes automatizados e com pouca estrutura, e reconstruída sob a minha direção até cobertura total, com uma migração de front-end que acabou com a perda dos filtros a cada troca de tela para quem estava trabalhando uma lista.
ReactTanStack RouterMongoDBDocker Swarm
Head de Tecnologia — direção & revisão · Abr 2026 – Atual
Privado
Ulbra Admin
Os números com que a diretoria conduz a universidade.
Dashboards administrativos para a presidência e a diretoria, lendo matrícula do sistema Oracle legado através de uma API tipada e dados de captação do CRM — deliberadamente a arquitetura mais simples do grupo.
Head de Tecnologia — design & implementação · Ago 2026 – Atual
Privado
Student Dashboard
Uma tela na parede que diz aos alunos onde estar.
Um painel de horários de aula instalado no prédio da medicina, e a administração por trás dele: um totem desassistido que alterna horários e conteúdo do campus, trocando de tema entre dia e noite.
Head de Tecnologia — design & implementação · Abr 2026 – Atual
Privado
Ulbra Infra
De uma pessoa no servidor a um repositório e um pipeline.
A plataforma de datacenter interno em que todos os outros sistemas daqui são publicados: um script leva um servidor cru até pronto, as aplicações sobem de um repositório via CI, e um alerta pode abrir seu próprio pull request.
Head de Tecnologia — design & implementação · Abr 2026 – Atual
Privado
Kota Embed
Adesão a plano de saúde, embutida dentro das plataformas de outras empresas.
Um serviço .NET multi-tenant por trás de um fluxo de adesão embutido: empregadores oferecem plano de saúde aos funcionários sem sair do software que já usam, enquanto o backend integra com nove seguradoras em três regiões regulatórias.
Uma plataforma corporativa de segurança e governança de IA. Meu trabalho ficou no lado dela que precisa alcançar o mundo fora da nuvem: o conector on-premise que deixa a plataforma chamar sistemas dentro da rede do cliente, a biblioteca multi-engine de acesso a dados por baixo dele e a gestão de postura que inventaria a IA que a empresa já roda.
Airia Cloud Connector
Um túnel reverso que alcança uma rede privada sem precisar abri-la.
Um agente autocontido que o cliente instala dentro da própria rede. Ele disca para fora, até a plataforma na nuvem, e mantém a conexão aberta — assim a plataforma consegue chamar APIs internas, consultar bancos internos e alcançar servidores MCP internos sem uma única regra de firewall de entrada.
.NET 9SignalRRedisJWTMCPxUnitTestcontainersHelm
Engenheiro de P&D — segurança, roteamento e superfície de comandos · Jun 2025 – Out 2025
Privado
Airia.DataStores.Common
Uma superfície de consulta única sobre seis engines de banco, entregue como pacote.
Uma biblioteca .NET que coloca engines relacionais e um banco de documentos atrás de uma interface só: executar consulta, ler schema, gerenciar pool de conexões. Escrita para que o conector de nuvem e a plataforma consumam o mesmo build, em vez de manter duas cópias divergentes da mesma matriz de provedores.
Engenheiro de P&D — autor, desde o primeiro commit · Jul 2025 – Out 2025
Privado
Secure Posture Management
Um inventário de cada agente de IA que a empresa já está rodando.
A parte da plataforma que se conecta aos lugares onde a IA de fato roda — ferramentas de automação de workflow, serviços de modelo em nuvem, construtores de assistente — e transforma o que encontra num inventário de agentes e componentes, cada um carregando seu risco e um feed de violações de política.
.NET 9Entity Framework CorePostgreSQLAzure AI FoundryAWS BedrockxUnit
Engenheiro de P&D — modelo de domínio, persistência e um provedor · Jul 2025 – Out 2025
Privado
Pampa Devs
O site do meu estúdio, e a ferramenta com que ele manda proposta.
O site do estúdio de software que eu toco: bilíngue, com blog, três landing pages para os serviços que ele vende, e demos funcionais desses serviços dentro da própria página — uma loja com carrinho, um assistente de chat, um checkout. Proposta de cliente é página aqui, não documento mandado por e-mail.
Vue 3TypeScriptViteVue RouterVue I18nSCSSAzure Static Web Apps
Fundador — design & implementação · 2020–2021, 2025 – Atual
Um sistema ao vivo, em tempo real, embutido em um portfólio.
Os visitantes veem quem mais está online, um mapa-múndi ao vivo e métricas públicas — um client fino sobre um backend .NET orientado a eventos (presença via SignalR, outbox com RabbitMQ, Postgres, OpenTelemetry), um dashboard de operações e um assistente de IA. Deploy com Docker/Caddy + IaC.
Teste end-to-end automatizado de um sistema de telefonia.
Uma ferramenta interna que testa uma URA ligando de verdade para ela: um roteiro conduz uma chamada real, as respostas faladas são transcritas e conferidas contra o que o roteiro esperava, e o resultado volta para a ferramenta de gestão de testes.