Pular para o conteúdo
Engenheiro de Software Back-end

Sistemas back-end distribuídos, feitos para rodar sem supervisão.

Sou o Luis Henrique. Construo o back-end de uma plataforma de automação jurídico-financeira: filas, extração de documentos e isolamento por inquilino, sobre portais públicos que mudam sem aviso.

agentes concorrentes em produção
130+
sistemas externos integrados
33
registros capturados por segundo
~20/s
layouts de documento lidos
11

Stack principal Python, FastAPI, Django, PostgreSQL, RabbitMQ, Celery, Docker, Linux, AWS.

Engenharia

Em que eu trabalho, e a prova de cada item. Tudo abaixo está em produção.

Sistemas Distribuídos e Concorrência

Muitos processos em paralelo, sem um atrapalhar o outro. Coordenação, isolamento e falha controlada.

Em produção

  • 130+ agentes de navegador em paralelo, cobrindo 33 tribunais
  • Carga particionada entre os workers no próprio banco, com locks e diretório temporário por execução
  • Perfis de navegador isolados por processo, para a queda de um não derrubar os outros

Arquitetura Orientada a Eventos e Filas

Trabalho longo sai da requisição. A API aceita, a fila absorve, os workers executam.

Em produção

  • FastAPI delegando a workers Celery via RabbitMQ, em filas separadas por tipo de carga
  • Progresso empurrado ao navegador por WebSocket, com reconexão automática
  • Checkpoint em JSON para retomar execuções de horas em vez de recomeçar

Design de API e Autenticação

Contrato estável na frente, liberdade para mudar atrás dele.

Em produção

  • Um único contrato JSON de saída sobre 11 layouts de documento, inclusive digitalizados
  • Autenticação por JWT, CORS, filtro de token e IP, compressão GZip
  • Route handlers internos que mantêm as chaves no servidor, nunca no navegador

Pipelines de Dados e Leitura de Documentos

Documento que ninguém desenhou para máquina virando dado estruturado.

Em produção

  • Extração por coordenada e regex com PyMuPDF e pdfplumber, OCR com Tesseract para digitalizados
  • Layout classificado por bloco textual e código de barras antes de escolher o extrator
  • Valores, datas e campos de juros normalizados em um esquema só

Arquitetura Multi-Tenant e Modelagem

Isolamento entre inquilinos no banco, não na aplicação.

Em produção

  • Row Level Security em todas as tabelas como fronteira de isolamento, não o where da aplicação
  • Vínculo e papéis no workspace resolvidos por funções security definer
  • Provisionamento por trigger: criar a conta cria perfil, workspace e papel juntos

Engenharia de Produção

O que tenta de novo, o que encerra limpo e o que avisa antes do usuário.

Em produção

  • Docker e Docker Compose, rodando em AWS EC2 sobre Linux
  • Retentativas com limite, encerramento seguro de drivers e processos filhos, limpeza garantida de temporários
  • Suítes em pytest cobrindo rotas, contratos dos agentes, banco e segurança

Como eu decido

Quatro regras, cada uma aprendida quebrando alguma coisa.

Correção é responsabilidade do banco

Constraint e política de acesso não podem ser esquecidas; um where pode. Onde errar uma vez já é caro demais, a regra desce para o schema.

Melhor quebrar do que errar calado

Queda vira chamado no mesmo dia. Dado errado atravessa o sistema e volta como prejuízo semanas depois, quando ninguém lembra mais do deploy.

Empurre o custo da mudança para as bordas

Integração nova deve criar arquivo, não editar o que todo mundo importa. Indireção custa, e só compensa onde a mudança é frequente.

Coloque limite em tudo que tenta de novo

Sem limite, uma dependência quebrada consome a fila inteira. Limite é o que faz o sistema degradar em vez de parar.

Quem sou eu

Engenheiro back-end, hoje na Homma Capital. Antes, dois anos como consultor tributário na KPMG.

Vim da contabilidade para a engenharia, e é essa travessia que me faz ler o processo antes de automatizá-lo. Quando o sistema mexe com precatório, tributo ou fechamento, número errado é prejuízo, não bug. Curso Análise e Desenvolvimento de Sistemas na PUCPR.

PythonPython
FastAPIFastAPI
PostgreSQLPostgreSQL
MongoDBMongoDB
AWSAWS
NextJSNextJS
ReactReact

Experiência Profissional

Homma Capital

Engenheiro de Software Back-end

Homma Capital · Jul. 2025 - Atualmente

Atual

Engenheiro back-end da plataforma de automação jurídico-financeira, do desenho da API aos agentes que rodam em produção.

  • Desenhei a arquitetura baseada em filas (FastAPI, Celery, RabbitMQ) que roda 130+ agentes de navegador em 33 tribunais sem supervisão manual.
  • Movi o custo de um tribunal novo do núcleo para a borda, carregando os agentes por reflexão: integração nova virou classe nova, não alteração num arquivo do qual 130 agentes dependem.
  • Construí o pipeline de documentos que transforma PDFs judiciais de 11 layouts em um contrato JSON único, com OCR para digitalizados e o texto bruto preservado para auditoria.
  • Elevei a vazão de captura a cerca de 20 processos por segundo, particionando o trabalho no banco e gravando checkpoint por etapa: uma queda na terceira hora retoma de onde parou, em vez de recomeçar.
PythonFastAPICeleryRabbitMQPostgreSQLMySQLDockerAWS EC2
KPMG

Consultor Tributário

KPMG · Nov. 2022 - Fev. 2025

Dois anos revisando processos tributários e contábeis de grandes clientes, exatamente o domínio que automatizo hoje.

  • Trabalhei todo dia com os documentos judiciais e fiscais que meus pipelines leem hoje. Por isso os leitores conferem o que o número significa, não só onde ele está na página.
  • Revisei apuração e fechamento de clientes grandes, o que me deu o vocabulário do domínio que hoje eu modelo em banco.
Revisão tributáriaAnálise de processosConciliação financeira
Igreja de Jesus Cristo dos Santos dos Últimos Dias

Representante Voluntário

Igreja de Jesus Cristo dos Santos dos Últimos Dias · Fev. 2019 - Fev. 2021

Dois anos de serviço voluntário em tempo integral, incluindo treinamento e coordenação de outros voluntários.

Formação Acadêmica

Pontifícia Universidade Católica do Paraná

Análise e Desenvolvimento de Sistemas

Cursando

Jan. 2025 - Jun. 2027

Pontifícia Universidade Católica do Paraná

Ciências Contábeis

Concluído

Jan. 2021 - Dez. 2024

Cursos e Certificações

Meta

Front-End Developer

Concluído

2025

Google

UX Design

Concluído

2025

Estudos de caso

Sistemas de produção que desenhei e construí. Cada um traz o problema, a arquitetura, as decisões e o que eu mudaria. Os trabalhos de faculdade estão marcados.

Está com um desafio parecido?

Vamos conversar
Profissional

Plataforma de Automação Distribuída: 130+ Agentes Concorrentes

130+ agentes em produção

Plataforma baseada em filas que emite certidões em 33 tribunais do país. Uma API FastAPI recebe a solicitação, o RabbitMQ absorve e workers Celery conduzem 130+ agentes de navegador em paralelo, cada um encapsulando um portal.

PythonFastAPICelery+4
Profissional

Painel de Operação em Tempo Real de uma Frota de Agentes

54 variações de formulário, um só form

O plano de controle da plataforma de automação: deriva de configuração os campos exigidos por estado, faz proxy das chamadas sem expor credencial e mescla o progresso ao vivo dos agentes em uma central única.

Next.js 16React 19TypeScript+3
Profissional

API de Leitura de Documentos: 11 Layouts, Um Contrato

11 leitores de tribunais

Serviço FastAPI sem estado que transforma PDFs de ofícios requisitórios em JSON estruturado. Um endpoint roteia para o leitor registrado de cada tribunal, com OCR para documentos digitalizados e um esquema único de saída.

PythonFastAPIPyMuPDF+3
Profissional

Pipeline de Captura de Alta Vazão com Retomada por Checkpoint

~20/s processos capturados por segundo

Pipeline de captura ponta a ponta sobre um portal judicial instável: login com TOTP, pesquisa, download, leitura multi-layout de PDF e cruzamento de pagamentos. As etapas são independentes, com checkpoint e particionadas entre workers sem broker.

PythonSeleniumPlaywright+3
Em produção

LunchSud: Agendamento Multi-Tenant com Sincronia em Tempo Real

RLS isolamento por ala

Aplicação full-stack em produção onde o banco é a fonte da verdade: agendamento duplicado é impedido por constraint única, não por checagem, os inquilinos são isolados por Row Level Security e as mudanças chegam ao vivo em todo dispositivo aberto.

Next.js 16React 19TypeScript+3
Em desenvolvimento

mycapy: SaaS Multi-Tenant com Isolamento Garantido pelo Banco

~500 linhas de esquema e política

Plataforma multi-tenant de finanças pessoais em que o isolamento entre inquilinos mora no PostgreSQL, não no código da aplicação. A arquitetura de dados e o modelo de segurança estão prontos; o produto ainda está sendo construído.

PostgreSQLSupabaseFastAPI+3
Em produção

Color Chroma: Estúdio de Cores

Estúdio de cores interativo para escolher e converter entre HEX e RGB em tempo real, com roda de cores, contraste automático de texto e UI reativa. Exportado estaticamente e publicado por CI/CD.

Next.js 16React 19TypeScript+2
Acadêmico

Sistema de Biblioteca com Estruturas de Dados

Sistema de gerenciamento de biblioteca em Java que aplica estruturas de dados clássicas (grafos, árvore binária de busca, fila e pilha) a um domínio real, implementadas do zero.

JavaPOOEstruturas de Dados
Acadêmico

Machine Learning: Previsão de Win Share (NBA)

Modelo de regressão para estimar o Win Share de jogadores da NBA a partir de dados históricos (de 1950 a 2017), com análise exploratória, pré-processamento e avaliação de desempenho.

Pythonscikit-learnpandas+1
Acadêmico

Sistema de Gestão para Spa (Web)

Aplicação web para gestão de um spa: autenticação de usuários e painel administrativo com CRUD de usuários, produtos, pedidos e massoterapeutas.

PHPMySQLBootstrap

Falar comigo

Aberto a trabalho com back-end e sistemas distribuídos. Me diga o que você está construindo e qual parte é difícil.

Máximo de 500 caracteres0 / 500

Outros canais

Prefere outro caminho? Me encontre por aqui.