João Rietra

Médico e AI Engineer. Construo aplicações de IA generativa e avalio modelos com rigor — calibração, generalização fora da distribuição de treino e fidelidade de explicação.

Sobre

Passei três anos na assistência — urgência pediátrica e atenção primária — e migrei para engenharia de IA sem abrir mão do lado clínico. A pergunta que atravessa tudo que eu faço é a mesma: quando um modelo é confiável o bastante para sustentar uma decisão?

Acurácia não responde isso. Um modelo pode acertar na média e mentir sobre a própria confiança; um mapa de saliência pode ser bonito e não ter relação com a decisão que o modelo tomou. Então eu meço calibração, testo fora da distribuição de treino, verifico se a explicação corresponde ao que o modelo de fato usou — e reporto quando o resultado é negativo, que é a parte que costuma sumir dos relatórios.

Hoje trabalho como AI Engineer na LetzGrow e faço mestrado profissional em Engenharia de Software na CESAR School.

Agora

Primeiro aluno classificado com dois projetos simultâneos no School Innovation da CESAR School (edição 2026.2). É a trilha de pré-incubação da escola: os grupos passam por seleção, deixam a disciplina de Projeto e passam a ser acompanhados por professores orientadores, com artefatos avaliativos ao longo do semestre. Oito grupos foram classificados na edição; dois são meus.

LetzGrow

AI Engineer·Grow Group·2026 – atual

Plataforma de jornada de carreira assistida por IA. Um agente conversacional conduz a trilha, interpreta respostas abertas e gera um plano de desenvolvimento decompondo o objetivo em micro-tarefas adaptativas, com RAG ancorando as recomendações no perfil da pessoa em vez de em texto genérico. Cuido do backend, do pipeline de IA e da camada de dados sensíveis (acesso condicional, auditoria, LGPD).

NestJS · Prisma · PostgreSQL · Groq (Llama 3.3 70B) · Ollama · BullMQ/Redis · React · AWS CDK

MAPEN

Lead técnico: dados e visão computacional·2026 – atual

Detecção de perdas em rede elétrica a partir da divergência entre energia distribuída e energia consumida. Construí a camada de dados — séries horárias de carga do ONS de 2000 a 2026, consumo por unidade federativa e malha geográfica do IBGE — e o subprojeto de leitura automática de medidores, que substitui a leitura manual do display por OCR com TrOCR ajustado sobre o dataset UFPR-AMR.

Python · PyTorch · Transformers · PaddleOCR · DuckDB · MLflow

Pesquisa

Dissertação de mestrado (CESAR School, 2026): dois artigos conectados sobre confiabilidade de modelos de imagem médica.

0,842AUC (vs 0,796 ImageNet)
0,045ECE (vs 0,219 ImageNet)
5domínios médicos avaliados

Reuso de treino para triagem em imagem médica multidomínio

Comparação controlada de quatro origens de backbone sobre cinco domínios do MedMNIST, avaliando AUC, calibração e fidelidade de explicação por oclusão. O fine-tuning intermediário forense venceu de forma consistente, e a diferença de calibração foi maior que a de poder discriminativo: a escolha de pré-treino afeta mais a confiabilidade da confiança declarada do que o acerto bruto.

Resultado negativo reportado: o Grad-CAM produzia mapas concentrados e convincentes, com fidelidade nula à decisão real do modelo sob teste de oclusão. Explicação plausível não é explicação.

Detecção de imagens manipuladas com redes convolucionais leves

Avaliação empírica e adversarial de detectores próprios contra ViT, Swin e ensembles, em três distribuições. Nenhum detector único generaliza entre tipos de manipulação, e desempenho dentro da distribuição não prediz o de fora. "Leve em parâmetros" também não implica leve na prática — a métrica de custo que importa é latência medida.

Código e infraestrutura experimental — MLflow com métricas por época, logging de inferência deduplicado por hash de conteúdo e agregação estatística sobre múltiplas seeds.

Projetos

Minnow

Um agente de coding que roda inteiro dentro da aba do navegador do celular. Sem instalar, sem conta, sem backend: o loop do agente, a execução de ferramentas, o sistema de arquivos, o interpretador Python e o git são código do lado do cliente. Todo agente de coding mobile é controle remoto de uma máquina que não é sua — neste, o agente é o cliente, e o único fio que sai do aparelho é a chamada ao modelo.

Tem também inferência on-device via WebAssembly, validada ponta a ponta. Medi e documentei o limite: no tamanho que cabe num celular, o modelo relata escritas de arquivo que nunca executou. Então on-device virou conversa e o agente ficou na nuvem — dito no prompt e na interface, não escondido.

TypeScript · React · Vite · WebAssembly (wllama) · isomorphic-git · Skulpt / Pyodide · IndexedDB · Playwright

ragcode

Servidor Model Context Protocol que expõe um modelo local como ferramentas, com índice semântico de código atualizado a cada commit. Uso todo dia para tirar trabalho volumoso do contexto do agente.

Python · MCP · Ollama · SQLite

EfficientNeXt

Um LLM autoregressivo escrito do zero: arquitetura hourglass causal que traduz a EfficientNet-B0 para linguagem, com transferência de esqueleto pré-treinado e teste de causalidade como critério de aceite.

Python · PyTorch

btc-forecast

Avaliação comparativa de foundation models de série temporal — Chronos, TimesFM, Moirai, Lag-Llama, TTM — com fine-tuning, ensemble e backtest. A conclusão honesta é que previsão direcional de curto prazo é indistinguível de passeio aleatório, e está escrita no repositório.

Python · MLflow · Streamlit

Blocks-py

Uma DSL embarcada em Python: código Python comum constrói uma árvore sintática tipada em vez de executar, e a mesma árvore pode ser interpretada, compilada em função ou exportada como módulo autônomo. Arquivo único, sem dependências.

Python

Currículo

Três recortes do mesmo material, conforme o interesse.

Versões em inglês na página em inglês.

Formação

CESAR School, Recife

Mestrado Profissional em Engenharia de Software, desde outubro de 2025. Tecnólogo em Ciência de Dados, desde janeiro de 2025.

FPS / IMIP, Recife

Medicina, concluído em 2022.

University of Alberta, Canadá

Neurociência computacional pelo Ciências sem Fronteiras, 2015–2016: modelagem de fluxos neurais e análise de dados de alta dimensionalidade, no cruzamento entre computação, neurociência e genética.

João Rietra

Physician and AI engineer. I build generative AI applications and evaluate models with rigour — calibration, generalisation outside the training distribution, and explanation faithfulness.

About

I spent three years in clinical practice — paediatric emergency and primary care — and moved into AI engineering without giving up the clinical side. One question runs through everything I do: when is a model reliable enough to support a decision?

Accuracy does not answer that. A model can be right on average and lie about its own confidence; a saliency map can be beautiful and bear no relation to the decision the model actually made. So I measure calibration, test outside the training distribution, check whether the explanation matches what the model really used — and I report the negative results, which is the part that usually disappears from write-ups.

I currently work as an AI Engineer at LetzGrow and am taking a Professional Master's in Software Engineering at CESAR School.

Now

First student ever selected with two simultaneous projects in CESAR School's School Innovation programme (2026.2 cohort). It is the school's pre-incubation track: teams go through competitive selection, leave the regular Project course behind and are supervised by faculty advisors, assessed on delivered artefacts through the semester. Eight teams were selected in the cohort; two of them are mine.

LetzGrow

AI Engineer·Grow Group·2026 – present

An AI-assisted career development platform. A conversational agent drives the journey, interprets open-ended answers and generates a development plan by decomposing the goal into adaptive micro-tasks, with RAG grounding the recommendations in the person's own profile rather than in generic text. I own the backend, the AI pipeline and the sensitive-data layer (conditional access, audit trail, Brazil's LGPD — the local equivalent of the GDPR).

NestJS · Prisma · PostgreSQL · Groq (Llama 3.3 70B) · Ollama · BullMQ/Redis · React · AWS CDK

MAPEN

Technical lead: data and computer vision·2026 – present

Detecting electricity-grid losses from the divergence between distributed and consumed energy. I built the data layer — hourly load series from Brazil's national grid operator from 2000 to 2026, consumption per state and IBGE geographic boundaries — and the automatic meter-reading subproject, which replaces manual display reading with OCR using TrOCR fine-tuned on the UFPR-AMR dataset.

Python · PyTorch · Transformers · PaddleOCR · DuckDB · MLflow

Research

Master's dissertation (CESAR School, 2026): two connected papers on the reliability of medical imaging models.

0.842AUC (vs 0.796 ImageNet)
0.045ECE (vs 0.219 ImageNet)
5medical domains evaluated

Training reuse for triage in multi-domain medical imaging

Controlled comparison of four backbone origins across five MedMNIST domains, evaluating AUC, calibration and occlusion-based explanation faithfulness. Forensic intermediate fine-tuning won consistently, and the calibration gap was larger than the gap in discriminative power: the choice of pretraining affects the reliability of declared confidence more than it affects raw accuracy.

Negative result reported: Grad-CAM produced concentrated, convincing maps with zero faithfulness to the model's actual decision under occlusion testing. A plausible explanation is not an explanation.

Manipulated-image detection with lightweight convolutional networks

Empirical and adversarial evaluation of in-house detectors against ViT, Swin and ensembles, across three distributions. No single detector generalises across manipulation types, and in-distribution performance does not predict out-of-distribution performance. "Lightweight in parameters" does not imply lightweight in practice either — the cost metric that matters is measured latency.

Code and experimental infrastructure — MLflow with per-epoch metrics, inference logging deduplicated by content hash, and statistical aggregation over multiple seeds.

Projects

Minnow

A coding agent that runs entirely inside a phone's browser tab. No install, no account, no backend: the agent loop, tool execution, the file system, the Python interpreter and git are all client-side code. Every mobile coding agent is a remote control for a machine that is not yours — in this one, the agent is the client, and the only wire leaving the device is the call to the model.

It also does on-device inference via WebAssembly, validated end to end. I measured and documented the limit: at a size that fits on a phone, the model reports file writes it never performed. So on-device became conversation and the agent stayed in the cloud — stated in the prompt and in the UI, not hidden.

TypeScript · React · Vite · WebAssembly (wllama) · isomorphic-git · Skulpt / Pyodide · IndexedDB · Playwright

ragcode

A Model Context Protocol server that exposes a local model as tools, with a semantic code index refreshed on every commit. I use it daily to keep bulk work out of the agent's context window.

Python · MCP · Ollama · SQLite

EfficientNeXt

An autoregressive LLM written from scratch: a causal hourglass architecture that translates EfficientNet-B0 into language, with pretrained-skeleton transfer and a causality test as the acceptance criterion.

Python · PyTorch

btc-forecast

Comparative evaluation of time-series foundation models — Chronos, TimesFM, Moirai, Lag-Llama, TTM — with fine-tuning, ensembling and backtesting. The honest conclusion is that short-horizon directional forecasting is indistinguishable from a random walk, and it is written in the repository.

Python · MLflow · Streamlit

Blocks-py

An embedded DSL in Python: ordinary Python code builds a typed syntax tree instead of executing, and the same tree can be interpreted, compiled into a function or exported as a standalone module. Single file, no dependencies.

Python

CV

Three cuts of the same material, depending on what you are looking for.

Portuguese versions on the Portuguese page.

Education

CESAR School, Recife

Professional Master's in Software Engineering (industry-oriented track), since October 2025. Technologist degree in Data Science, since January 2025.

FPS / IMIP, Recife

Doctor of Medicine (MD), completed in 2022 — the six-year Brazilian medical degree, entered directly from secondary school.

University of Alberta, Canada

Computational neuroscience through Science Without Borders, 2015–2016: modelling of neural flows and analysis of high-dimensional data, at the intersection of computing, neuroscience and genetics.