Matheus Pavaneli
Engenheiro fullstack sênior · forward-deployed AI engineer
Me dê o sistema que ninguém quer assumir.
Pego o que está quebrado, o que foi abandonado e o que ainda não existe — inclusive os sistemas de LLM que uma empresa está colocando em produção pela primeira vez — e devolvo uma arquitetura, com o número que ela moveu.
Disponível em 7 a 14 dias · contractor, EOR ou contratação direta · qualquer fuso dos EUA
- Agora
- Senior Software Engineer · Bernoulli Educação, EdTech
- Stack principal
- TypeScript · Python · Node/NestJS · React/Next · PostgreSQL · AWS
- Trabalha de
- Maringá, Brasil · UTC−3 · remoto · qualquer fuso dos EUA · inglês C1
Leituras
Razão, escala log
Movido
Mantido sob um limite
Mantido sob um limite que o build ou a plataforma impõe. Nada a percorrer, de propósito.
Contado
Uma grandeza cada, então não há razão a desenhar.
Cada barra é o quanto um número se moveu, numa única escala logarítmica compartilhada — os comprimentos se comparam entre casos, e nenhum foi reescalado para parecer melhor. Um limite que se manteve, ou um número só, é dito em vez de desenhado.
Casos
9
O que cada um foi, de fato.
Primeiro o trabalho em produção, depois os meus projetos. Cada um com antes e depois.
Caso
Onde
razão
Quando
Em produção
Sistemas de LLM em produção
A primeira feature de IA da empresa, construída para que nenhum fornecedor sozinho consiga derrubá-la
Bernoulli Educação · EdTech, mais de 100 mil alunos
razão: 10.0×
2025 – hoje
Sistemas de LLM em produção
A primeira feature de IA da empresa, construída para que nenhum fornecedor sozinho consiga derrubá-la
Desenhei e entreguei a arquitetura de orquestração: um orquestrador roteando requisições entre agentes especializados, failover de provider para que a indisponibilidade de um fornecedor não derrube a feature, e uma camada MongoDB carregando retrieval de documentos, logs de execução dos agentes e um cache de resposta que corta o custo de inferência repetida. O provider não foi escolhido por reputação — cinco modelos foram testados em custo, latência e qualidade de saída, e os números escolheram um. Em produção atende mais de 100 mil usuários, com latência 90% menor e custo 40% menor.
Stack: LLM orchestrationMulti-agent routingProvider failoverMongoDBNestJS
A query de dois segundos
O planner não estava lento. As estatísticas dele estavam velhas.
Bernoulli Educação
razão: 13.3×
2026
A query de dois segundos
O planner não estava lento. As estatísticas dele estavam velhas.
Uma query central levava dois segundos e ninguém sabia dizer por quê. O EXPLAIN ANALYZE disse na cara: a divergência entre linhas estimadas e reais expunha um sequential scan escolhido no lugar de um índice que já existia. Atualizei as estatísticas, restaurei o uso correto do índice, ajustei os limiares de autovacuum para não voltar e documentei o método para o time — a correção vale menos do que a segunda vez em que alguém acha sozinho.
Stack: PostgreSQLEXPLAIN ANALYZEautovacuum
O dashboard abandonado
Herdado sem repasse, sem documentação, e com números que o negócio já estava usando para decidir
Jorrovi Calçados · sistemas financeiros e administrativos
razão: —
2023 – 2025
O dashboard abandonado
Herdado sem repasse, sem documentação, e com números que o negócio já estava usando para decidir
Relatórios de receita, custo e fluxo de caixa usados do chão de operação até os donos, entregues sem nada junto. Fiz engenharia reversa, avaliei a dívida e defini a estratégia de migração sozinho; depois estabilizei em três frentes: matei os crashes, rastreei e corrigi os números que vinham sendo reportados errados, e cortei o tempo de carregamento. A migração correu de forma incremental com o sistema em uso diário — sem congelamento de features, sem reescrita big-bang, sem interrupção no fechamento financeiro. Promovido em seis meses.
Stack: ReactTypeScriptKubernetes
A imagem de 1,9 GB
Ninguém tinha documentado por que era tão grande, então o primeiro trabalho foi descobrir
Freelance · Workana
razão: 9.05×
2024 – 2025
A imagem de 1,9 GB
Ninguém tinha documentado por que era tão grande, então o primeiro trabalho foi descobrir
Uma imagem Docker de frontend que ninguém queria encostar, sem nenhuma documentação anterior. Diagnostiquei a causa em vez de cortar camadas no escuro e reconstruí o pipeline em multi-stage builds. Artefatos menores derrubaram custo de registry e de transferência em mais de 60%, além do tempo de build.
Stack: DockerMulti-stage builds
Projetos próprios
rag-evalPublicado
Se a resposta veio do trecho certo, medido antes de qualquer otimização
Código aberto · um pipeline de RAG que mede o próprio retrieval
razão: 8.14×
2026
rag-evalPublicado
Se a resposta veio do trecho certo, medido antes de qualquer otimização
Trinta perguntas sobre cinquenta Python Enhancement Proposals, com o gabarito gravado como spans de caracteres e não como ids de chunk — mudar o chunking não reescreve o gabarito em silêncio. Dense, BM25, híbrido e um reranker cross-encoder são comparados pergunta a pergunta: o reranker subiu o recall para 0,833. Cada resposta cita suas fontes, e o código resolve cada citação em caracteres do documento — 51 de 52 foram encontradas literalmente. O CI reproduz BM25, dense, híbrido e cada resposta gravada sem chave e sem chamada de rede, e falha com qualquer mudança.
Stack: PythonPostgreSQLBM25Gemini embeddingsCross-encoder rerankingAstro
SealPublicado
Aprovação como API: human-in-the-loop como infraestrutura, não como mudança de código
Open-core · modo local sob Apache-2.0 no npm
razão: —
2026
SealPublicado
Aprovação como API: human-in-the-loop como infraestrutura, não como mudança de código
Um gateway de aprovação para agentes de IA. Um proxy MCP intercepta tools/call e segura as chamadas de risco até um humano assinar, com um motor de política declarativo — aprovação por exceção, não por padrão — e elicitation e sampling relaiados nos dois sentidos. Cada decisão entra em uma trilha de auditoria encadeada por hash, verificável offline. O código do agente não muda para adotar: o proxy é a integração.
Stack: MCPHonoDrizzlePostgreSQLApache-2.0
useseal.dev(abre em nova aba)github(abre em nova aba)npm(abre em nova aba)
NanquimPublicado
O mercado brasileiro entrega SDK de backend em sete linguagens e para no navegador
SDK de checkout Pix · agnóstico de provider
razão: mantido
2026
NanquimPublicado
O mercado brasileiro entrega SDK de backend em sete linguagens e para no navegador
Um checkout Pix embutível que roda no domínio do próprio lojista, dentro de um Shadow DOM, sem nenhuma dependência de runtime no navegador e sem requisição além do backend do lojista. Nenhuma credencial chega ao bundle, porque o SDK recebe funções e não chaves. Não existe onSuccess, porque a verdade de um pagamento é um webhook assinado e nunca o navegador. Estados ilegais são irrepresentáveis e o valor prometido é um invariante.
Stack: TypeScriptShadow DOMPixZero runtime deps
AnchorPublicado
O churn aparece nas contas de anúncio semanas antes de alguém cancelar
SaaS B2B · inteligência de retenção para agências de performance
razão: —
2026
AnchorPublicado
O churn aparece nas contas de anúncio semanas antes de alguém cancelar
Uma plataforma que pontua a saúde do cliente a partir de sinais do Google Ads e do Meta Ads, aprende os pesos por cliente em vez de aplicar um modelo único a todo mundo, e escreve um brief semanal que o gestor de contas consegue executar. Multi-tenant com row-level security, cobrança via Stripe com gates de plano, e observabilidade desde o primeiro deploy — não depois do primeiro incidente.
Stack: Next.jsMulti-tenant RLSStripeGoogle AdsMeta Ads
technology-artPublicado
Oito artefatos, 3,3 milhões de anos, uma nuvem de pontos remontada em cada um deles
Ensaio conduzido por scroll · WebGL
razão: mantido
2026
technology-artPublicado
Oito artefatos, 3,3 milhões de anos, uma nuvem de pontos remontada em cada um deles
Uma história da tecnologia contada por oito objetos, da pedra lascada às máquinas que estão aprendendo a julgar. Uma única nuvem de pontos WebGL é remontada na forma de cada era, o intervalo entre duas eras define a altura do silêncio antes dela, e um único acento percorre o espectro conforme se lê. As camadas pesadas esperam o primeiro movimento do leitor — é por isso que o artefato sobrevive à nota.
Stack: three.jsGLSLGSAPLenis
Construção
Toda caixa do diagrama foi um requisito antes.
Ninguém desenha a arquitetura final no primeiro dia. Ela cresce um requisito por vez, e cada peça nova resolve um problema e começa a cobrar por outro. Aqui estão sete deles, em ordem.
1 de 7
Atender usuários.
- Adiciona
- Uma API, um banco.
- Custa
- Nada ainda — uma coisa pra publicar, uma pra fazer backup.
2 de 7
Leituras abaixo de 200 ms no p95.
- Adiciona
- Um cache.
- Custa
- Toda escrita agora precisa invalidar alguma coisa.
3 de 7
Dez vezes o tráfego.
- Adiciona
- Um load balancer e instâncias da API sem estado.
- Custa
- A sessão não pode mais morar no processo.
4 de 7
Leituras superam em muito as escritas.
- Adiciona
- Réplicas de leitura.
- Custa
- Uma leitura pode chegar atrás da escrita anterior.
5 de 7
Trabalho lento não pode segurar a requisição.
- Adiciona
- Uma fila e workers.
- Custa
- Jobs falham longe dos olhos, então pedem retry e dead-letter queue.
6 de 7
Queda de um provedor não pode nos derrubar.
- Adiciona
- Um circuit breaker e um provedor reserva.
- Custa
- Duas integrações pra manter honestas em vez de uma.
7 de 7
Saber que quebrou antes do usuário.
- Adiciona
- Logs, métricas e traces de cada caixa.
- Custa
- Uma fatura, e alguém de plantão pra ler.
Método
6
O que eu faço quando me entregam um sistema.
Seis regras, cada uma paga por um caso acima.
Leia o instrumento antes de chutar.
O EXPLAIN ANALYZE dizia que o plano estava errado. Ninguém tinha olhado.
Pago por A query de dois segundos
Assuma que o fornecedor cai.
Failover de provider, para que uma queda não derrube a feature.
Pago por Sistemas de LLM em produção
Coloque o limite dentro do build.
12,14 kB é um gate que a CI aplica, não uma afirmação no README.
Pago por Nanquim
Migre com o sistema no ar.
Mais de 40 telas em quinze meses, com o sistema em uso diário.
Pago por O dashboard abandonado
Escreva o padrão.
Um padrão de code review hoje aplicado em todo serviço de backend.
Torne estados ilegais irrepresentáveis.
Sem onSuccess no navegador: a verdade de um pagamento é um webhook assinado.
Pago por Nanquim
Registro
4 · 64
O resto, de forma compacta.
Cargos
Bernoulli Educação
nov 2025 – hoje
Senior Software Engineer · tempo integral
Arquitetura de orquestração de LLM. Releases semanais em lote viraram deploy contínuo diário com suítes automatizadas. Autor do padrão de code review do time.
Eicode
out 2024 – jun 2025
Senior Fullstack Engineer · promovido de pleno · tempo integral
Dono técnico único de uma plataforma social greenfield: 12 módulos de feature, nenhum sênior acima de mim, e a direção técnica que outros três engenheiros seguiram. Engine de recomendação escrita do zero — TF-IDF com similaridade de cosseno, sem serviço de ML de terceiros. Líder técnico em contas internacionais, em inglês.
Independent Contractor via Workana
jan 2024 – nov 2025
Senior Fullstack Engineer · 5+ contratos simultâneos · meio período
Entregues em paralelo a posições full-time. Autenticação multi-provider construída do zero — e-mail, Google e Microsoft, 2FA, recuperação — sem nenhum incidente de auth reportado após o lançamento. Cobrança Stripe em produção para três plataformas, com webhooks idempotentes para que retentativas nunca cobrassem duas vezes.
Jorrovi Calçados
abr 2023 – jun 2025
Junior Fullstack Engineer · promovido de trainee · meio período
O dashboard financeiro abandonado, acima. TypeScript adotado em toda a base após defender a decisão com stakeholders não técnicos, e deploys Kubernetes automatizados em dev, staging e produção.
Competências
Linguagens e frameworks
TypeScript · Python · Node.js · NestJS · FastAPI · React · Next.js
Engenharia de IA
LLM orchestration · Multi-agent routing · Provider failover · Model evaluation · Embeddings & vector search (pgvector) · LangChain
Dados e mensageria
PostgreSQL · MongoDB · Redis · RabbitMQ · BullMQ
Cloud e infraestrutura
AWS EC2 · Lambda · S3 · Azure App Service · Functions · Docker · Kubernetes · CI/CD
Arquitetura e APIs
Event-Driven · Microservices · REST · GraphQL · Jest · pytest
Lista completa do currículo, 64 termos
Linguagens e frameworks
TypeScript · JavaScript · Python · PHP · React · Next.js · Vue.js · Node.js · NestJS · FastAPI · Django / DRF · Fastify · Express · Laravel · TailwindCSS
Engenharia de IA
LLM orchestration · Multi-agent routing · Provider failover · Response caching · Model evaluation · MongoDB retrieval · LangChain · Pydantic structured output · Embeddings & vector search (pgvector) · scikit-learn · NumPy
Dados e mensageria
PostgreSQL · MySQL · MongoDB · DynamoDB · Redis · Firebase · Kafka · RabbitMQ · BullMQ · Celery · SQLAlchemy / Alembic · pandas
Cloud e infraestrutura
AWS EC2 · Lambda · S3 · SQS · SNS · API Gateway · CloudFront · RDS · ECS · Fargate · Azure App Service · Functions · Azure Service Bus · AKS · Docker · Kubernetes · Nginx · Linux · Git · CI/CD · boto3
Arquitetura e APIs
Clean Architecture · DDD · Event-Driven · Microservices · CQRS · Hexagonal · Serverless · SOLID · REST · GraphQL · Jest · pytest · mypy / Ruff
Outros repositórios
- depguard(abre em nova aba)
Pontuação preventiva de risco em dependências npm: metadados do registry, lifecycle scripts, avisos OSV e heurísticas de typosquatting.
TypeScript · OSV · CLI
- env-validator(abre em nova aba)
Valida process.env na inicialização contra um schema tipado, coletando todos os erros de uma vez, com inferência e sem dependências.
TypeScript · Zero deps
Formação
Bacharelado em Engenharia de Software · Cruzeiro do Sul · em andamento, previsão 2029
Idiomas
Português nativo · Inglês C1 — usado diariamente em produção: cerimônias, code review, documentação técnica.
Referências
2 · 11
“…someone you can trust implicitly to unblock the toughest challenges.”
Gleyver Coutinho Castro, meu gestor na Bernoulli. Uma linha das duas recomendações abaixo, citadas na íntegra e no original em inglês. O índice liga cada traço ao trecho que o afirma; aponte para um e ele acende.
| Traço | Castro | Blair |
|---|---|---|
| Recebe o problema difícil | Gleyver Coutinho Castro: 1 trecho, Recebe o problema difícil | Kevin Blair: 1 trecho, Recebe o problema difícil |
| Assume de ponta a ponta | Gleyver Coutinho Castro: 2 trechos, Assume de ponta a ponta | Kevin Blair: 1 trecho, Assume de ponta a ponta |
| Acha a causa antes da correção | Gleyver Coutinho Castro: 1 trecho, Acha a causa antes da correção | Kevin Blair: nenhum trecho |
| Deixa o problema claro | Gleyver Coutinho Castro: 1 trecho, Deixa o problema claro | Kevin Blair: nenhum trecho |
| Eleva o time | Gleyver Coutinho Castro: 1 trecho, Eleva o time | Kevin Blair: 1 trecho, Eleva o time |
| Segue aprendendo | Gleyver Coutinho Castro: nenhum trecho | Kevin Blair: 2 trechos, Segue aprendendo |
Um ponto por trecho
Gleyver Coutinho Castro
Software Engineering Manager
Foi meu gestor direto · Bernoulli Educação ·
I had the privilege of working with Matheus at Bernoulli, and I can attest that his impact goes far beyond the lines of code he delivers.
What truly sets Matheus apart is his genuine autonomy and strong sense of ownership. Whenever we faced complex and ambiguous problems, he was the one who dove deep into the technical investigation, mapped out bottlenecks, made assertive architectural decisions, and drove solutions from start to finish with total responsibility.
In addition to his excellent technical background and analytical skills, his communication and collaboration with the team are flawless. He has a natural ability to translate difficult problems into clear discussions, engage the team, and keep everyone aligned. He is the kind of engineer who raises the technical bar of any team and someone you can trust implicitly to unblock the toughest challenges.
Kevin Blair
QA Automation Engineer
Mesmo time · Bernoulli Educação ·
I had the chance to work with Matheus, and one thing that always stood out was his enthusiasm for technology and learning new things. He's someone who genuinely enjoys exploring new ideas, takes on challenges with a positive attitude, and always puts in the effort to get things done right. On top of that, he's a great teammate who's always willing to help and share what he knows. It was a pleasure working with him.
Citadas literalmente, como publicadas. Os trechos marcados são meu índice, não ênfase deles.
Contato
O que você está construindo?
Aberto a posições de engenharia e a contratos em que alguém precisa assumir uma feature de IA de ponta a ponta. Respondo em até um dia.
Enviar uma mensagem
- matheuspavaneli@proton.me
- +55 44 99775-2680
- Currículo(abre em nova aba)
- LinkedIn(abre em nova aba)
- GitHub(abre em nova aba)
Maringá, Brasil · UTC−3 · remoto