Engenharia
Sistemas que projetei e operei em produção — decisões de arquitetura, trade-offs e restrições reais.
Problemas resolvidos em produção
Latência de API
Timeouts de APIs terceiras causando falhas em cascata no checkout — resolvido com circuit breaker e respostas fallback
Inconsistências de marketplace
APIs de marketplaces externos retornando dados inconsistentes — camada de abstração normalizando schemas em modelo unificado
Migração de legado
Migrando sistemas de clientes de monolito PHP para React + Next.js sem downtime — abordagem incremental strangler fig
Performance em escala
Tempos de resposta da API degradando com crescimento de usuários — otimização de queries, caching estratégico, chamadas paralelas
UX cross-platform
Manter UX consistente entre React (web) e React Native (mobile) — design tokens e contratos de componentes compartilhados
Consistência de dados
Módulos financeiros (vendas + comissões + pagamentos) perdendo sincronia — transações atômicas com advisory locks do PostgreSQL
Sistemas de IA em produção
Não chatbots — pipelines em produção onde IA é um componente em um sistema maior, com fallbacks, monitoramento e dados reais fluindo.
Agente IA no WhatsApp
Agente com LLM para atendimento, recomendação de produtos e finalização de vendas. Mensagens processadas de forma assíncrona, dados registrados no PostgreSQL. Fallback para matching por regras quando LLM está indisponível.
Pipeline RAG (LangChain + pgVector)
Ingestão de documentos → chunking → geração de embeddings → armazenamento vetorial no PostgreSQL com pgVector → busca semântica com top-K como contexto para LLM.
Ler implementação completa →Perguntas frequentes
O que é arquitetura multi-tenant?
Um padrão de design onde múltiplas organizações compartilham a mesma aplicação e banco de dados, mas os dados de cada tenant são isolados. A abordagem mais comum em SaaS moderno é banco compartilhado com coluna tenant_id e Row Level Security (RLS) do PostgreSQL como rede de segurança.
Como lidar com webhooks de pagamento de forma confiável?
Use uma abordagem em camadas: valide assinaturas em cada evento, garanta idempotência com IDs de eventos armazenados, responda imediatamente e processe em background, valide transições de estado com state machine, execute jobs de reconciliação periódicos e direcione eventos com falha para uma dead letter queue.
Como integrar IA em sistemas de produção?
Trate a IA como um componente do sistema, não uma feature isolada. Processe mensagens de forma assíncrona, registre dados de volta no banco, implemente fallbacks para quando o LLM estiver indisponível e monitore a qualidade das respostas. O ponto central é confiabilidade — o sistema precisa funcionar mesmo quando o provedor de IA tem problemas.
O que é o padrão circuit breaker?
Um padrão de resiliência para integrações com APIs terceiras. Quando uma API externa começa a falhar, o circuit breaker 'abre' e retorna respostas fallback ao invés de propagar a falha pelo sistema. Após um período de cooldown, permite requisições de teste para verificar se o serviço se recuperou.
