Engenheiro full-stack e de IA, do schema à tela.

Sou o Pedro. Projeto, construo e opero sistemas em produção de ponta a ponta: SaaS multi-tenant, apps mobile, pipelines de dados e agentes de IA. Fui o único engenheiro de um CRM multi-tenant em uso diário, e meu código está mergeado no Supabase, no Kestra e no QuestDB.

Código mergeado emSupabaseKestraQuestDB
  • TypeScript, React, Node.js, Python, PostgreSQL
  • Viçosa, Brasil (UTC−3)
  • Português e inglês
SaaS multi-tenant

Um CRM que construí sozinho, do schema à tela

CRM multi-tenant em React, TypeScript e Supabase: row-level security do Postgres por tenant, Edge Functions, caixa de entrada com a WhatsApp Cloud API, pipeline Kanban e dashboards. Um engenheiro, a stack inteira, clientes pagantes.

70% menos tempopara analisar um lead, medido nos primeiros 60 dias
ReactTypeScriptPostgreSQL RLSEdge Functions
Mobile

Um app Flutter e a API por trás dele

Um app de treino publicado nas lojas, com o backend que o sustenta: autenticação, dados do usuário, notificações e a API com a qual o app conversa.

33+ endpointsna API por trás de um app publicado nas lojas
FlutterDartNode.jsREST
Dados

Dashboards que as pessoas realmente abrem

Antes de software eu trabalhava com dados e BI: dashboards, modelos de dados e modelos preditivos para um app de consumo que operava na Europa. Hoje também construo os pipelines que os alimentam.

Dados primeiroanalista de BI antes de engenheiro de software
SQLPythonBIAlertas
IA em produção

Agentes de IA com regras, ferramentas e uma métrica

Agentes que qualificam, respondem, resumem e passam a conversa para pessoas dentro de regras de negócio, ligados ao CRM, com limite sobre o que podem dizer e um número que mostra se valeu a pena.

4x mais reuniõesagendadas que o SDR humano no mesmo funil, numa empresa de serviços premium com operação internacional
ClaudeOpenAIGeminiEmbeddings
Integrações

Integrações que nunca disparam duas vezes

Webhooks entregam pelo menos uma vez, então projeto para isso: chaves de idempotência, deduplicação antes de qualquer efeito colateral, filas, retentativas e um alerta quando um fluxo fica em silêncio.

2 a 71 msentre entregas duplicadas da Meta que tive de deduplicar em produção
WebhooksFilasRedisn8n

Código que outros times mergearam

Quase todo o meu trabalho é código fechado de cliente. Esta parte qualquer pessoa pode auditar: correções, recursos e documentação que os mantenedores do Supabase, do Kestra e do QuestDB revisaram e mergearam. As duas correções de cliente abaixo nasceram de bugs que encontrei em produção.

Da API do GitHub, atualizado de hora em hora
10pull requests aceitos
3organizações
18em revisão agora
Supabase logo
Supabase111 mil estrelas no GitHub
3 aceitos
Kestra logo
Kestra29 mil estrelas no GitHub
3 aceitos
QuestDB logo
QuestDB17 mil estrelas no GitHub
4 aceitos
Também em revisão emCal.comInfisicalFuture AGI
Antes
Depois

Todos os pull requests mergeados

A stack e onde ela rodou

Tudo aqui entrou em projeto de verdade, pago ou público. Escolha um projeto para ver com o que ele foi feito.

Como eu trabalho

Problema antes da stack

Vim de marketing e dados. Antes de escolher ferramenta, pergunto o que custa dinheiro hoje e qual número precisa se mexer.

Correto sob concorrência

Row locks onde há token e dinheiro: FOR UPDATE na rotação de refresh token, FOR NO KEY UPDATE para evitar deadlock, chaves únicas no lugar de esperança.

Pronto é verificado

Typecheck verde não é prova. Eu rodo o fluxo de ponta a ponta e, quando não consigo verificar algo, digo exatamente o que ficou de fora.

Medido, não prometido

A métrica é combinada antes da construção: tempo por lead, custo por lead qualificado, reuniões agendadas. Depois ela é medida contra o processo antigo.

Do marketing à engenharia

  1. 2026 até hoje

    Engenheiro de IA, Solabs

    Agentes de IA, integrações e engenharia de produto para um grupo de empresas.

    • Agentes de IA em produção no WhatsApp e no Instagram atendendo mais de 300 leads por dia, gravando direto no Bitrix24 e no RD Station.
    • Endurecimento de segurança de um SaaS multi-tenant sob NDA: checagem de dono em toda rota autenticada, correções de SSRF e JWT, tudo travado por guards automáticos no CI.
    • Rastreamento de conversão no servidor alimentado pelo CRM (Meta Conversions API, conversões offline do Google Ads), que restaurou a atribuição das campanhas.
  2. 2025 a 2026

    Desenvolvedor full-stack, Funil Faixa Preta

    Único desenvolvedor. Construí o CRM multi-tenant da empresa do banco de dados à interface, mais as automações e integrações ao redor.

    • 862 commits, do schema do Postgres (migrations, row-level security) e das Edge Functions ao front-end em React, TypeScript e Vite, atendendo 20 empresas clientes.
    • Agentes de LLM com RAG e embeddings para triagem, perguntas frequentes e passagem para humano, reduzindo em 60% o tempo até a primeira resposta ao cliente.
  3. 2024 a 2025

    Analista de dados e BI, Cafezinho

    Dashboards, modelos de dados e modelos preditivos para um app que operava em Portugal.

  4. 2020 a 2024

    Mídia paga, autônomo

    Onde aprendi o que uma empresa realmente mede.

Notas de produção

Textos curtos sobre problemas que encontrei e como os resolvi, com fontes.

Quer conversar sobre o trabalho?

E-mail é o jeito mais rápido de falar comigo, em português ou em inglês.

LinkedInGitHub