Currículo

João Vitor Bermal Santaniello

Engenheiro de Software · Full-Stack, Entrega com IA e Dados Geoespaciais

Seis anos construindo software para saneamento, energia, saúde e telecom, hoje com IA no centro do trabalho via Claude Code, além das marcas e lojas que crio por conta própria.

6 anos
construindo software em produção desde 2020
3h para 20 min
em um fluxo geoespacial recorrente da Aegea
~40%
do código do EyeConnect em produção, mais que qualquer outro autor
9/10
no TCC do MBA em visão computacional na USP/ESALQ
14 aparelhos
lidos pelo pipeline de OCR do EyeConnect enquanto eu liderava
358 para 11 px
de erro no centro do disco óptico depois que treinei um detector no pipeline do TCC
9 skills
de Claude Code compartilhadas em 13 projetos de clientes
US$ 0,03
por ticket na demo de suporte com IA do Triage Desk

Resumo

Engenheiro de software com seis anos de experiência em produção nos setores de saneamento, energia, saúde e telecom. Construo produtos full-stack e pipelines de dados com FastAPI, Node.js, React, Next.js, Python e ArcGIS. Fui o principal desenvolvedor do EyeConnect, plataforma de teleoftalmologia em produção, do gateway DICOM das clínicas à entrada de exames por OCR, reescrevi o ISPDrive, SaaS multi-tenant para provedores de internet, e construo as análises geoespaciais dos estudos de expansão da Aegea, um dos maiores grupos de saneamento do Brasil. Hoje o Claude Code é meu principal ambiente de desenvolvimento. MBA em Engenharia de Software (USP/ESALQ, TCC em deep learning com nota 9/10) e inglês fluente com times dos EUA.

Como trabalho hoje: o Claude Code escreve a maior parte dos primeiros rascunhos e eu respondo pelo resultado. Planejo a mudança, escrevo as salvaguardas em skills e arquivos CLAUDE.md, leio cada diff, rodo os testes e confiro o software funcionando antes de qualquer entrega. Esse hábito vem de anos escrevendo FastAPI, Node.js, Meteor, React e Python à mão, e de escrever problemas de benchmark desenhados para fazer modelos de ponta errarem.

Onde isso aparece: uma plataforma de teleoftalmologia em produção, do gateway instalado nas clínicas até o laudo do médico; um SaaS de armazenamento white-label revendido por provedores de internet; as análises geoespaciais dos estudos de concessão de água e esgoto de um dos maiores grupos de saneamento do Brasil; uma marca de e-commerce nos EUA que opero sozinho; e uma demo pública de triagem de suporte com IA para várias marcas.

Experiência

  1. Dez 2022 até o momento

    Bizpoke Soluções em Software

    São José dos Campos, SP

    Desenvolvedor de Software

    Aegea · Planejamento de expansão e Regenera

    A Aegea é um dos maiores grupos privados de saneamento do Brasil. Trabalho com o time de Planejamento de Expansão, que usa dados geoespaciais para dimensionar mercados e priorizar novas concessões de água e esgoto, e com a Regenera, operação de resíduos sólidos e biogás de aterros. A função vai da modelagem de dados à automação em Python, publicação no ArcGIS e levantamento de requisitos direto com o cliente.

    • Reduzi um fluxo geoespacial recorrente de mais de 3 horas para cerca de 20 minutos com o Spatial Extractor, ferramenta em Python e GeoPandas com spatial joins paralelos, validação e exportação para Excel e Shapefile.
    • Entreguei indicadores por setor censitário para 16 estados cruzando Censo do IBGE, endereços do CNEFE e registros da BDGD da ANEEL, dando ao time de expansão estimativas de demanda para estudos de concessão.
    • Participei da definição do modelo de dados CITIUS/Regenera para o biogás de aterros e fiz a carga dos dados históricos, que alimentam painéis com faróis de medição e classes de CH4 normalizado.
    • Mantive os painéis de produção funcionando na migração para o ArcGIS Enterprise 11.5, auditando e corrigindo dashboards, e criei um script de governança que aponta itens sem uso no portal para limpeza.
    • Eliminei etapas manuais de rotinas semanais automatizando cálculo de etapas, padronização de simbologia, ingestão de arquivos e atualização de views materializadas no PostgreSQL com toolboxes do ArcGIS, Python e FME.
    • Levei novos produtos da solicitação à produção, como o dashboard de OS críticas e o painel de dados de coleta, conduzindo refinamentos de requisitos com a Aegea e documentando o portfólio de dashboards para um novo time.
    • Carreguei os dados teóricos e históricos do Regenera (poços, drenos, PDRs, coletores, medições, etapas do aterro) que alimentam painéis com faróis de medição, classes de CH4 normalizado e filtros semanais.
    • Avaliei o Experience Builder como substituto do ArcGIS Dashboards na migração para o Enterprise 11.5 e validei cada novo dashboard com os times da Aegea em homologação antes da produção.
    • Construí camadas de geofactíveis (endereços a até 50 m da rede de água) enriquecidas com atributos do CNEFE e classes de renda por setor censitário, usadas para priorizar regiões de prospecção.
    • Processei a contagem de telhados da BDGD para Ceará e Santa Catarina com filtros urbano e rural e publiquei os resultados em dashboards de homologação e produção.
    • Modelei a camada de reputação de clientes do Pará geocodificando registros com o CNEFE e entreguei o modelo de dados ao time de dados da Aegea.
    • Consolidei a base de resíduos sólidos do Rio de Janeiro e produzi mapas temáticos, heatmaps e dashboards para o programa de aterros.
    • Defini o cálculo da medição inicial e final de cada poço e adicionei a classificação de válvula fechada aos faróis de medição.
    • Criei uma ferramenta de correção de topologia em GeoPandas e uma toolbox de padronização de simbologia reaproveitada nos dashboards.
    • Python
    • GeoPandas
    • ArcGIS Pro
    • ArcGIS Enterprise 11.5
    • ArcGIS Dashboards
    • Experience Builder
    • FME
    • PostgreSQL
    • Excel

    Entrega com IA usando Claude Code

    Hoje o Claude Code é meu principal ambiente na Bizpoke. Escrevo o contexto e as ferramentas compartilhadas que permitem ao time inteiro usá-lo do mesmo jeito nos projetos de clientes.

    • Criei uma biblioteca compartilhada de nove skills de Claude Code e um CLAUDE.md raiz herdado por 13 pastas de projetos da Aegea (bootstrap de projeto, cliente da API do ArcGIS, edição de dashboards, documentos de entrega, status reports), para todo o time trabalhar com o mesmo playbook.
    • Conectei o Claude Code ao ClickUp via MCP para status reports diários aos clientes e contribuí com o BizpokeBI, nossa plataforma de dados geoespaciais, e com o seu servidor MCP bizpoke, com gravações sujeitas a aprovação.
    • Construí um cliente OAuth2 para a API REST do ArcGIS Enterprise com backup automático antes de cada edição e separação rígida entre portais de produção e homologação, para o agente atualizar dashboards em lote com segurança.
    • Transformei falhas recorrentes em salvaguardas: a skill de dashboards documenta armadilhas encontradas em sessões reais (edições que ficam só na memória, peculiaridades de schema, bugs de filtro) e confere cada gravação pelas requisições de rede, para o agente não repetir o erro.
    • A rotina do ClickUp monta os status reports a partir dos cards de Epic, por projeto e numa visão consolidada do portfólio, substituindo atualizações escritas à mão.
    • O BizpokeBI roda em FastAPI, DuckDB com Apache Sedona, indexação H3 e filas no Redis; o servidor MCP bizpoke dá ao Claude o catálogo de datasets, os pipelines de processamento, os jobs e as ferramentas do ArcGIS, com toda gravação sujeita a aprovação explícita e a um log de auditoria.
    • Produzi especificações, uma tabela viva de requisitos, notebooks de testes de aceite e documentos formais de entrega (.docx e PDF) a partir de modelos compartilhados, levando funcionalidades da solicitação à produção no ArcGIS Enterprise 11.5.
    • Claude Code
    • MCP
    • ClickUp
    • FastAPI
    • DuckDB
    • Apache Sedona
    • H3
    • Redis

    EyeConnect · plataforma de teleoftalmologia em produção

    O EyeConnect conecta clínicas oftalmológicas a médicos remotos: a clínica envia os exames, o médico emite o laudo e o paciente recebe o resultado por link. Fui o principal desenvolvedor em 2023 e 2024, escrevi cerca de 40% do código da plataforma que está em produção hoje e construí sozinho o gateway das clínicas.

    • Construí sozinho um gateway de exames em Raspberry Pi para clínicas: o Orthanc recebe o DICOM dos aparelhos e um serviço Node.js classifica os exames, lê os PDFs com AWS Textract e envia tudo à plataforma via OpenVPN.
    • Levei o OCR para a plataforma: upload de PDFs em lote para o S3, AWS Textract e leitores para 14 aparelhos (Zeiss Cirrus e HFA, Spectralis e outros), com deduplicação e novas tentativas.
    • Gerei pré-laudos automáticos por regras para campo visual e OCT e laudos estruturados com saída em PDF, e integrei a API da Clinic Web (Linx) para buscar pacientes pelo CPF e devolver os exames.
    • Pelos repositórios: 146 commits na plataforma e 94 pull requests aprovados, 93 dos 98 commits na master em 2023 e 2024, e todos os 33 commits do gateway das clínicas.
    • Gateway das clínicas: um PACS Orthanc compilado para o Raspberry Pi (ARM64) recebe o DICOM dos aparelhos, e um loop em Node.js busca as instâncias pela API REST do Orthanc a cada 15 segundos, também pega PDFs deixados numa pasta e move cada arquivo pelos estados de entrada, classificado, processado, falho, em espera ou ignorado, com novas tentativas e limpeza após 15 dias.
    • Classifiquei os exames DICOM pela SOP class e pelas tags de protocolo (angiografia, retinografia, indocianina verde, campo visual, OCT de mácula e disco, fotos do Zeiss Visucam), com um serviço Python em pydicom como alternativa para imagens e PDFs encapsulados.
    • Escrevi o roteiro de instalação para cada clínica: cliente OpenVPN, Raspberry Pi OS Lite, compilação do Orthanc, NTP e fuso horário, Node.js e Python, e três serviços systemd que reiniciam em caso de falha.
    • Troquei o OCR do gateway do Google Document AI para o AWS Textract e depois levei esse OCR para a plataforma, para uploads em lote.
    • OCR da plataforma: o pdf-lib separa a primeira página, o Textract lê o texto, o aparelho é identificado pelos seus parâmetros e expressões regulares por aparelho extraem nome, CPF, data de nascimento, sexo, data e tipo do exame; um identificador MD5 bloqueia duplicados e arquivos com falha são reprocessados a cada 15 minutos por até 24 horas. Os perfis de aparelho passaram de 5 para 14 enquanto eu liderava.
    • Pré-laudos construídos com extratores, analisadores e geradores de texto no padrão factory para campo visual do Zeiss HFA (MD, PSD, VFI, GPA, perdas de fixação, falsos positivos e negativos) e OCT do Cirrus, deixando o exame em pré-laudo para o médico.
    • Laudos estruturados de OCT de mácula e disco, paquimetria e topografia com uma factory de geração de tabelas, ao lado da opção de laudo livre.
    • Integração com a Clinic Web (Linx) com token por clínica, busca de paciente pelo CPF e um job agendado que devolve os exames concluídos; parâmetros extras de API para o parceiro 4medic e leitura dos laudos do Clinoftalmo.
    • Trava de exames com liberação automática após uma hora e e-mail ao médico, notificações por SMS e e-mail com links do Short.io, monitoramento de créditos de SMS, área de reenvio de SMS, relatórios de faturamento (geral e por médico), relatórios de custo por clínica e tipos de pagador (SUS, particular e convênio).
    • Atualizei o Meteor da versão 1.10 para a 2.7, a 2.8 e a 2.15 e substituí o pacote de jobs agenda, mantendo os deploys com Docker e Meteor Up nos ambientes de desenvolvimento, QA e produção.
    • Mudanças menores em integrações antigas: busca do telefone do paciente no banco TASY (Oracle) de um hospital e suporte a SFTP para a câmera de retina Phelcom Eyer, com um servidor OpenSSH restrito a SFTP em chroot.
    • Meteor
    • Blaze
    • MongoDB Atlas
    • AWS S3
    • AWS Textract
    • Google Document AI
    • Node.js
    • Orthanc
    • DICOM
    • pydicom
    • Raspberry Pi
    • systemd
    • OpenVPN
    • Docker
    • Meteor Up

    ISPDrive · armazenamento em nuvem white-label para provedores

    O ISPDrive é um serviço de armazenamento em nuvem que provedores de internet revendem aos seus assinantes com a própria marca, começando pela G6 Internet. Construí suas ferramentas de relatório em 2021 e 2022 e sou o único desenvolvedor desde 2024.

    • Reescrevi o produto em FastAPI, MongoDB e Next.js 14 como SaaS multi-tenant: marca própria por provedor, login pelo ERP de cada provedor e upload e download direto no DigitalOcean Spaces com URLs pré-assinadas.
    • Construí a área administrativa com dashboards de uso, trilha de auditoria de 11 tipos de ação e relatório de cotas para faturamento, e fiz o deploy na DigitalOcean com Docker Compose, NGINX e Let’s Encrypt automático.
    • Construí a primeira camada de relatórios em 2021 e 2022: uma API em Express e MySQL (histórico de login e uso de dados) e um dashboard em React com MUI DataGrid e Recharts, e depois migrei o servidor de upload de MySQL para MongoDB.
    • Cobri a API com testes de integração em pytest contra o MongoDB, com o storage simulado.
    • Pelo repositório: 56% dos commits sem merge e único autor desde julho de 2024.
    • Os provedores são identificados por subdomínio ou caminho (o NGINX redireciona o subdomínio para o caminho), cada um com logo e cores próprios; toda consulta fica restrita ao provedor, pedidos de admin entre provedores recebem 403 e há três papéis: admin da plataforma, admin do provedor e assinante.
    • Cada provedor escolhe login local ou externo; o login externo confere as credenciais no ERP do próprio provedor e cria a conta no primeiro acesso, com tokens JWT de acesso e de renovação.
    • O upload vai direto do navegador para o storage por URLs PUT pré-assinadas com barra de progresso, e o download por URLs GET pré-assinadas; as pastas são prefixos de chave por provedor e usuário.
    • Dashboard administrativo com usuários ativos e o armazenamento realmente usado, somado a partir das listagens do storage com um cache curto; paginação, ordenação e busca no servidor; e um CSV de usuários ativos por plano de cota para o faturamento.
    • Trilha de auditoria de 11 tipos de ação com o IP do cliente, do login e logout ao acesso a pastas e arquivos, uploads e exclusões.
    • Deploy com Docker Compose (NGINX, Certbot, FastAPI, Next.js) num droplet da DigitalOcean com MongoDB Atlas, renovação do Let’s Encrypt a cada 12 horas e reload diário do NGINX.
    • Uma versão de 2026 está em andamento: nova navegação com recentes, favoritos, busca e configurações, e uma área de administração global.
    • FastAPI
    • MongoDB Atlas
    • ODMantic
    • Next.js 14
    • TypeScript
    • Redux Toolkit
    • Tailwind CSS
    • DigitalOcean Spaces
    • Docker Compose
    • NGINX
    • Let’s Encrypt
    • pytest

    Equatorial Energia · app de campo DOMO

    O DOMO é um produto de operações de campo da Equatorial Energia, um dos maiores grupos de distribuição de energia do Brasil, desenvolvido em sprints com um time multidisciplinar.

    • Liderei o front-end e o mobile do DOMO, construindo em React Native (Expo) um componente de mapa offline com inclusão, edição e remoção de feições, formulários de atributos e suporte a tablets.
    • Prototipei no Figma o fluxo de validação de projetos e implementei em Next.js, TypeScript, Redux e MUI após aprovação da Equatorial.
    • Conduzi o spike técnico do componente de mapa mobile com o time de arquitetura, validando uso offline, edição de feições e basemaps públicos alternativos.
    • Produzi os protótipos de tela do fluxo de validação de demandas, incluindo a fila de demandas aguardando aprovação da Equatorial.
    • React Native
    • Expo
    • Next.js
    • TypeScript
    • Redux Toolkit
    • MUI
    • Figma
    • ArcGIS

    Utilities dos EUA via SBS

    Trabalhos de GIS e integração para utilities dos EUA via SBS, em inglês com times americanos.

    • Automatizei fluxos de GIS para North Las Vegas e Duke Energy e integrei SAP, IBM Maximo e Schneider Electric com SDKs em Python e JS.
    • Construí componentes customizados com a ArcGIS JavaScript API e fluxos no FME para dados de ativos de utilities.
    • ArcGIS JS API
    • FME
    • Python
    • JavaScript
    • SAP
    • IBM Maximo
  2. Mai 2025 a Out 2025

    Alignerr

    Remoto

    Colaborador de Benchmarks de Código para IA (freelancer)

    • Escrevi problemas em Python com soluções de referência e suítes de teste para o LiveCodeBench e o BigCodeBench, cada um desenhado para derrubar pelo menos 2 de 4 modelos de ponta, e revisei prompts e critérios de avaliação nos programas Mango e Fairylights.
    • Os modelos-alvo incluíam Qwen, DeepSeek, Claude Sonnet e Nova, em tarefas de geração de código, self-repair e execução, com uma análise de falha escrita para cada problema.
    • Python
    • Design de testes
    • Avaliação de LLMs
    • Escrita técnica
  3. Abr 2021 a Dez 2022

    Bizpoke Soluções em Software

    São José dos Campos, SP

    Estagiário de Desenvolvimento de Software

    • Entreguei funcionalidades em React, Node.js, Python e C# para projetos de clientes e produzi dados espaciais com ArcGIS Pro e Enterprise junto a times offshore, em inglês.
    • Nesse período construí as primeiras ferramentas de relatório do ISPDrive (uma API em Express e MySQL e um dashboard em React), descritas junto ao ISPDrive acima.
    • Versionei o trabalho de clientes com Git em vários times.
    • React
    • Node.js
    • Python
    • C#
    • ArcGIS Pro
    • ArcGIS Enterprise
    • Git
  4. Out 2020 a Mar 2021

    NFe Sistemas

    São José dos Campos, SP

    Estagiário de Desenvolvimento Web

    • Implementei mudanças de front-end e back-end com HTML, CSS, JavaScript, jQuery, PHP e MySQL.
    • HTML
    • CSS
    • JavaScript
    • jQuery
    • PHP
    • MySQL

Projetos selecionados

Triagem de suporte com IA para marcas D2C · 2026

Triage Desk

Demo publicada de atendimento ao cliente com IA para várias marcas: o n8n recebe as mensagens, um agente Claude numa Edge Function do Supabase redige a resposta com subagentes de políticas e catálogo, e o time aprova no Next.js. Os dados de cada marca ficam isolados com RLS no Postgres e testes em pgTAP.

  • Agente orquestrador com ferramentas estritas, saídas estruturadas e prompt caching; cerca de 20 segundos e US$ 0,03 por ticket.
  • Ingestão idempotente, sincronização de pedidos da Shopify com verificação HMAC, varredura de backlog e workflow de erros no n8n.
  • Demo pública com reset diário e limite de novas triagens; documento de design técnico no repositório.
  • Cinco workflows no n8n: mensagem recebida (conferência do segredo, gravação idempotente, triagem), resposta aprovada (gatilho pg_net e SMTP), sincronização de pedidos da Shopify (com HMAC), varredura de backlog a cada 5 minutos e um tratador de erros que grava em automation_errors.
  • Segurança no Postgres: RLS por vínculo com a marca com funções security definer, permissões por coluna para a equipe não mexer nos campos da IA, um gatilho que valida as mudanças de status, RPCs que só o service role chama e 14 testes em pgTAP.
  • Rodada verificada: 10 tickets reais (status de pedido, avaria fora do prazo, tamanho, troca de endereço, devolução sem a caixa, spam, uma mensagem em espanhol) triados com a decisão esperada em cerca de 20 segundos cada.
  • API do Claude
  • Supabase
  • PostgreSQL RLS
  • Edge Functions
  • n8n
  • Next.js
  • Vercel
  • pgTAP

TCC do MBA em deep learning · 2025 a 2026

Pipeline de AVR em retinografias

Pipeline em PyTorch que estima a razão arteríolo-venular, marcador de risco cardiovascular, em retinografias: uma U-Net segmenta os vasos (Dice 0,79 em imagens do DRIVE fora do treino), uma rede com ResNet-50 separa artérias de veias e um detector de disco óptico reduziu o erro do centro de 358 para 11 px para medir os calibres por Knudtson.

  • U-Net aprimorada com blocos residuais, batch normalization e perda BCE mais Dice, após pré-processamento com canal verde, CLAHE, correção gamma e Albumentations.
  • Rede de artérias e veias com encoder ResNet-50, Squeeze-and-Excitation e um módulo de restrição vascular, treinada em IOSTAR e RITE.
  • U-Net de disco óptico com uma heurística clássica de visão computacional como alternativa: erro mediano do centro de 11,1 px em imagens do IOSTAR fora do treino, contra 357,9 px do centro da imagem assumido no TCC original.
  • CRAE e CRVE pela combinação iterativa de Knudtson dentro da Zona B peripapilar, AVR = CRAE / CRVE e uma categoria de risco.
  • Treinos reproduzíveis em uma AMD RX 6800XT com ROCm e um documento de métricas que declara os limites conhecidos (um conjunto separado para a rede de artérias e veias é a próxima rodada); um endpoint em FastAPI e uma página de upload em Next.js.
  • Nota 9/10, com potencial para triagem automatizada e teleoftalmologia.
  • Python
  • PyTorch
  • OpenCV
  • Albumentations
  • ROCm
  • FastAPI
  • Next.js

Fundador, designer e desenvolvedor · 2026

Miau Atelier

Marca de móveis para gatos para o mercado americano, construída de ponta a ponta: identidade visual, loja Shopify em dólar com Stripe, automações em Python sobre a Admin GraphQL API e um pipeline de IA para fotografia de produto.

  • Identidade visual: nome, paleta, tipografia Playfair Display e Montserrat e um brand board que orienta cada imagem de produto.
  • Loja Shopify em dólar com Stripe, tema Dawn customizado, políticas da loja, anúncios no Google Merchant Center e e-mail com o domínio da marca.
  • Ferramentas em Python sobre a Admin GraphQL API da Shopify para criar produtos, anexar mídias e gerenciar coleções, menus, páginas e políticas.
  • Um pipeline de direção de arte com IA: gerador de prompts com cenas de ambiente e medidas reais do produto, contact sheets para revisão e um script que publica as imagens aprovadas.
  • Conectada ao Claude por um servidor MCP da Composio, para administrar a loja pelo Claude Code.
  • Trabalho de conversão: fluxo de compra direta, metafields de tamanho e caimento nos 15 produtos ativos, resumo de entrega e devolução, FAQ de frete, e-mails de checkout abandonado e avaliações do Judge.me no estilo da marca.
  • Shopify
  • Liquid
  • Admin GraphQL
  • Stripe
  • Python
  • Next.js
  • IA generativa

Next.js na Vercel · 2026

NAMMAN

App que roda só no navegador e sincroniza perfis do Neural Amp Modeler da API do TONE3000 com o disco: OAuth 2.0 com PKCE, File System Access API, IndexedDB, backoff e downloads em lote controlados, sem servidor.

  • OAuth 2.0 com PKCE na API do TONE3000, File System Access API para gravar numa pasta escolhida pelo usuário e IndexedDB para o histórico de downloads.
  • Novas tentativas com backoff exponencial e downloads em lote controlados, para bibliotecas grandes sincronizarem sem estourar limites de requisição.
  • Evoluiu de um back-end em Supabase e Prisma para uma arquitetura sem banco de dados, com 40 commits em cinco semanas.
  • Next.js
  • TypeScript
  • OAuth 2.0 PKCE
  • File System Access API
  • IndexedDB
  • Vercel

Next.js 16 na Vercel · 2026

joaosantaniello.com

Este site: migrado de HTML estático para Next.js numa branch própria e publicado pela Vercel, com preview, produção e domínio próprio.

  • Rotas em português e inglês com detecção de idioma na edge pelo navegador e pelo país, e tema claro e escuro.
  • Uma única fonte de conteúdo gera esta página, os PDFs do currículo (impressos com Playwright, com checagem automática do limite de páginas) e versões sob medida para vagas específicas.
  • Flyers para impressão gerados por código com QR codes, e a demo do Triage Desk num subdomínio.
  • Next.js 16
  • TypeScript
  • Tailwind CSS
  • Vercel
  • Playwright

Formação

2024 a 2026

MBA em Engenharia de Software

Universidade de São Paulo (USP/ESALQ) · Piracicaba, SP

  • Arquitetura de back-end e front-end, APIs e micro-frontends, cloud e Kubernetes, clean architecture e DDD, machine learning e deploy de modelos, observabilidade e TDD.
  • TCC com nota 9/10: o pipeline de AVR em retinografias, em Projetos selecionados.
  • Engenharia de back-end e front-end com arquiteturas web modernas, APIs e micro-frontends.
  • Computação em nuvem (IaaS, PaaS, SaaS) e orquestração de contêineres com Docker e Kubernetes.
  • Métodos ágeis, clean architecture e domain-driven design.
  • Machine learning, Big Data e IA, incluindo como modelos vão para produção.
  • UX design, design thinking e desenvolvimento centrado no usuário.
  • APIs e filas de mensagens, observabilidade e testes de software com TDD.
  • Também blockchain, direito digital (LGPD), gestão da mudança e liderança de times de alta performance.
  • Orientador do TCC: Prof. Dr. Heinrich da Solidade Santos.

2021 a 2022

Tecnólogo em Análise e Desenvolvimento de Sistemas

Universidade Paulista (UNIP) · São José dos Campos, SP

  • Projeto de software, bancos de dados e desenvolvimento web e back-end, em paralelo ao trabalho.

2018 a 2020

Técnico em Informática integrado ao Ensino Médio

Colégio Técnico Antônio Teixeira Fernandes · São José dos Campos, SP

  • Programação, desenvolvimento web e algoritmos, incluindo competições de programação em equipe.

Habilidades

Linguagens
Python, TypeScript, JavaScript, SQL, Bash
Dados e GIS
GeoPandas, ArcGIS Pro, ArcGIS Enterprise 11.5, ArcGIS Dashboards, Experience Builder, ArcGIS JS API, FME, PostgreSQL, geodatabases enterprise, ETL e modelagem de dados
Back-end
FastAPI, Node.js (Express), Meteor, Flask, APIs REST, JWT, OAuth 2.0 e PKCE, WebSockets e DDP, MongoDB (Motor, ODMantic, Mongoose), PostgreSQL, MySQL, Supabase, DICOM
Front-end e mobile
React, Next.js, Redux Toolkit, Tailwind CSS, MUI, React Native (Expo), Figma
Cloud e DevOps
Docker e Docker Compose, NGINX, Certbot e Let’s Encrypt, Linux e systemd, AWS (S3, Textract, EC2, CloudWatch), DigitalOcean (Droplets, Spaces), MongoDB Atlas, Supabase, Vercel, Meteor Up, Kubernetes básico
IA e ML
Claude Code (skills, CLAUDE.md, servidores MCP, subagentes, rotinas agendadas), API do Claude (tool runner, saídas estruturadas, prompt caching), PyTorch (U-Net, ResNet-50), OpenCV, Albumentations, ROCm, OCR com AWS Textract e Google Document AI, avaliação de LLMs
Imagens médicas
DICOM (SOP classes, tags, PDF encapsulado), PACS Orthanc e sua API REST, pydicom, OCR de laudos de aparelhos oftalmológicos
Automação e integração
n8n (webhooks, nós de código, novas tentativas, agendamentos, workflows de erro), pg_net e pg_cron, jobs com SyncedCron, OpenVPN, SFTP, verificação HMAC de webhooks
Testes e qualidade
pgTAP, pytest, Jest e supertest, notebooks de testes de aceite, revisão de código por pull requests
E-commerce e design
Shopify (Admin GraphQL, Liquid), Stripe, identidade visual, pipelines de imagem generativa
Forma de trabalho
Scrum, Git e GitFlow, Jira, ClickUp, documentação técnica, trabalho remoto com times dos EUA
Idiomas
Português (nativo) · Inglês (fluente, uso profissional diário)
Cursos e eventos
Python 3: Deep Dive, Part 1 (Udemy, 2025)Deep Learning Using ArcGIS (Esri, 2024)AWS Summit São Paulo (2023)ArcGIS Fundamentals (Esri, 2021)Esri Developer Summit (2022)

Esta é a versão estendida, com mais detalhes que os PDFs. Para processos seletivos, baixe o currículo completo ou o de uma página.