Systems check · todos os sensores ativosSystems check · all sensors online
ML aplicadoApplied ML& sistemas& systems
> ▍
Sou formando em Ciência da Computação na UFG. Construo e meço sistemas de ML que rodam sob restrição: inferência em hardware embarcado, pipelines de rede e avaliação reprodutível. Cada resultado que entrego vem com o benchmark que permite reproduzi-lo.I'm finishing my Computer Science degree at UFG (Brazil). I build and measure ML systems that run under constraints: inference on embedded hardware, networking pipelines and reproducible evaluation. Every result I ship comes with the benchmark that lets you reproduce it.
04
projetos de pesquisa na UFGresearch projects at UFG
02
artigos · 1 aceito na ACM MM, 1 em avaliaçãopapers · 1 accepted at ACM MM, 1 under review
07
projetos open source no meu GitHubopen-source projects on my GitHub
ACM Multimedia 2026, Rio de JaneiroACM Multimedia 2026, Rio de Janeiro
Apresento o artigo CGReplay++ como autor apresentador (10 a 14 de novembro).Presenting the CGReplay++ paper as presenting author (Nov 10–14).
Terminei a Carteira KYCFinished Carteira KYC
A carteira entrou: livro-razão em partidas dobradas, depósito e saque idempotentes e extrato medido com EXPLAIN ANALYZE. Abrir a demo →The wallet is in: a double-entry ledger, idempotent deposits and withdrawals, and a statement query measured with EXPLAIN ANALYZE. Open the demo →
Publiquei o assistente do regulamento da UFGPublished the UFG regulations assistant
RAG com pgvector e agente com tool calling, avaliado com perguntas anotadas e no ar no Azure. Abrir a demo →RAG with pgvector and a tool-calling agent, evaluated on labeled questions and live on Azure. Open the demo →
Publiquei a triagem de mensagens com n8n + LLMPublished customer message triage with n8n + LLM
Fluxo com saída JSON presa a um schema, handoff humano, retry e log de latência e tokens, com testes e CI. Ver no GitHub →A workflow with schema-bound JSON output, human handoff, retries and latency and token logging, with tests and CI. See it on GitHub →
Lancei o Misogyny Lens PT-BRLaunched Misogyny Lens PT-BR
BERTimbau com fine-tuning detecta traços de misoginia e roda no navegador, com explicação por palavra. Abrir a demo →A fine-tuned BERTimbau flags misogyny traits and runs in the browser, with per-word explanations. Open the demo →
Lancei a Congestion Control ArenaLaunched Congestion Control Arena
Redes neurais aprendem controle de congestionamento por neuroevolução, ao vivo no navegador. Abrir a demo →Neural networks learn congestion control through neuroevolution, live in the browser. Open the demo →
Artigo submetidoPaper submitted
Agentes de linguagem com percepção facial em tempo real sob contenção de acelerador. Em avaliação.Real-time face-aware language agents under accelerator contention. Under review.
Aceito no Conpeex 2026Accepted at Conpeex 2026
Trabalho sobre o léxico de misoginia em PT-BR. Apresentação a realizar.Work on the PT-BR misogyny lexicon. Presentation upcoming.
Palestra no 1º Encontro de Sociologia da IATalk at the 1st Meeting on the Sociology of AI
Sessão Dirigida na FCS/UFG sobre o léxico de misoginia.Directed session at FCS/UFG on the misogyny lexicon.
TX-02 · cargas úteispayloads
TrabalhosSelectedselecionadoswork
2026 · projeto pessoalpersonal project
Assistente do regulamento da UFGUFG regulations assistant
RAG · agente · demo ao vivoRAG · agent · live demo
Responde perguntas sobre o regulamento e o calendário acadêmico da UFG citando as fontes. Busca vetorial no PostgreSQL com pgvector e um agente com tool calling que escolhe entre o regulamento e o calendário, com limite de passos e tratamento de erro das ferramentas. Avaliado com 50 perguntas anotadas e um juiz LLM revisado à mão: dividir o texto por artigo subiu o recall@5 de 68% para 88%. Num conjunto de teste separado, com perguntas em linguagem de aluno, caiu para 43%, e a limitação está documentada. API em FastAPI no Azure Container Apps, infraestrutura em Bicep e deploy pelo GitHub Actions via OIDC.Answers questions about UFG's regulations and academic calendar with cited sources. Vector search in PostgreSQL with pgvector and a tool-calling agent that chooses between the regulations and the calendar, with a step limit and tool error handling. Evaluated on 50 labeled questions with an LLM judge I spot-checked by hand: chunking by article raised recall@5 from 68% to 88%. On a separate test set written in student language it dropped to 43%, and the limitation is documented. FastAPI on Azure Container Apps, infrastructure in Bicep and deploys from GitHub Actions via OIDC.
App full stack de uma fintech fictícia: o cliente passa pela verificação de identidade, um operador aprova ou recusa, e o cliente aprovado deposita, saca e vê o extrato. Django REST Framework e PostgreSQL no backend, React com TypeScript no frontend. O saldo é um livro-razão em partidas dobradas, sem coluna de saldo, com as regras garantidas no próprio banco. Depósito e saque são idempotentes, e o saque nunca deixa saldo negativo, nem com duas requisições ao mesmo tempo; tudo isso tem teste. A consulta do extrato foi medida com EXPLAIN ANALYZE e caiu de 21 ms para 1 ms com um índice. São 66 testes, incluindo um de ponta a ponta com Playwright, no GitHub Actions. API no AWS Lambda com S3 e SSM, infraestrutura em CloudFormation e deploy via OIDC; frontend no GitHub Pages.A full-stack app for a fictional fintech: the customer goes through identity verification, an operator approves or rejects it, and the approved customer deposits, withdraws and reads a statement. Django REST Framework and PostgreSQL on the backend, React with TypeScript on the frontend. The balance is a double-entry ledger with no balance column, with its rules enforced by the database. Deposits and withdrawals are idempotent, and a withdrawal never overdraws the account, even under concurrent requests; all of it is tested. The statement query was measured with EXPLAIN ANALYZE and went from 21 ms to 1 ms with an index. 66 tests, including a Playwright end-to-end test, run on GitHub Actions. API on AWS Lambda with S3 and SSM, infrastructure in CloudFormation and deploys via OIDC; frontend on GitHub Pages.
Triagem de mensagens com n8n + LLMCustomer message triage with n8n + LLM
automação · LLMautomation · LLM
Fluxo em n8n que classifica mensagens de clientes com um LLM, com saída JSON presa a um schema, roteamento condicional para o PostgreSQL e handoff para um humano quando a confiança é baixa. Tem retry, idempotência, workflow de erro e log de latência e tokens, com 27 testes e CI. Numa avaliação pequena, com 30 mensagens fictícias rotuladas, acertou 29 de 30 destinos, com p95 de 1,4 s. Roda local com Docker Compose.An n8n workflow that classifies customer messages with an LLM, with JSON output bound to a schema, conditional routing into PostgreSQL and human handoff on low confidence. It has retries, idempotency, an error workflow and latency and token logging, with 27 tests and CI. On a small evaluation of 30 labeled fictional messages, it routed 29 of 30 correctly, with 1.4 s p95 latency. Runs locally with Docker Compose.
2026 · projeto pessoal, a partir da ICpersonal project, from my undergrad research
Misogyny Lens PT-BR
demo ao vivo · roda no navegadorlive demo · runs in the browser
Fiz fine-tuning do BERTimbau para detectar traços de misoginia, com controle de vazamento e escolha de modelo só na validação. No teste, o ensemble com o SVM do léxico chega a 88,0% de acurácia. Quantizei o modelo de 436 para 110 MB e ele roda inteiro no navegador com 85,6%, medido lá mesmo, com explicação palavra por palavra. A API com o ensemble completo vai em Docker, com testes e CI.I fine-tuned BERTimbau to detect misogyny traits, with leak control and model selection on validation only. On the test set, the ensemble with the lexicon SVM reaches 88.0% accuracy. I quantized the model from 436 to 110 MB and it runs entirely in the browser at 85.6%, measured there, with a word-by-word explanation. The full-ensemble API ships in Docker, with tests and CI.
Uma população de redes neurais pequenas aprende controle de congestionamento por neuroevolução, ao vivo no navegador, sem saber nada de TCP. Escrevi o simulador do link gargalo, o algoritmo genético e um placar contra baselines estilo Reno e Vegas. Em um buffer de 5 BDP que não aparece no treino, o campeão mantém 1,2 ms de fila contra 113 ms do AIMD. O mesmo placar mostra os limites: ele é injusto com um segundo fluxo (Jain 0,58).A population of tiny neural networks learns congestion control through neuroevolution, live in the browser, with no knowledge of TCP. I wrote the bottleneck simulator, the genetic algorithm and a scoreboard against Reno-like and Vegas-like baselines. On a 5 BDP buffer never seen in training, the champion holds 1.2 ms of queueing delay versus 113 ms for AIMD. The same scoreboard shows its limits: it is unfair to a second flow (Jain 0.58).
Agente incorporado em tempo real em hardware embarcadoReal-time embodied agent on embedded hardware
projeto com empresa parceiraindustry-partnered project
Construí um agente que combina percepção facial contínua (detecção, identificação e expressão) com geração periódica de um modelo pequeno de visão e linguagem (sVLM), no mesmo acelerador embarcado. Caracterizei a disputa de GPU entre percepção e geração e entreguei um harness de benchmark reprodutível.I built an agent that combines continuous face perception (detection, identification and expression) with periodic generation from a small vision-language model (sVLM), on the same embedded accelerator. I characterized GPU contention between perception and generation and delivered a reproducible benchmark harness.
Python
PyTorch
sVLM
Jetson
benchmarking
2026 · LERIS (UFSCar)
CGReplay++
ACM Multimedia 2026
Implementei o RoQ (RTP sobre QUIC) como quarto transporte de um pipeline de mídia para cloud gaming, ao lado de QUIC, SCReAM e RTP, e construí uma GUI de métricas de qualidade (VMAF, SSIM). No Netbench, o DCTCP reduziu o FCT mediano em 17% frente ao TCP.I implemented RoQ (RTP over QUIC) as the fourth transport in a cloud gaming media pipeline, alongside QUIC, SCReAM and RTP, and built a quality metrics GUI (VMAF, SSIM). On Netbench, DCTCP cut median FCT by 17% versus TCP.
2025–2026 · IC, Instituto de Informática / UFGUndergrad research, UFG
Léxico de misoginia em PT-BRPT-BR misogyny lexicon
NLP · open source
Unifiquei 3 corpora anotados e dedupliquei de 74.338 para 35.791 documentos. Construí um léxico de 533 termos (TF-IDF + PMI) e um filtro de ancoragem de gênero que reduziu os termos positivos de 267 para 111. Melhor F1 de 0,748 contra 0,730 do baseline. No caminho, achei e corrigi um vazamento de dados que inflava o F1 para 0,87.I merged 3 annotated corpora and deduplicated them from 74,338 to 35,791 documents. I built a 533-term lexicon (TF-IDF + PMI) and a gender-anchoring filter that cut positive terms from 267 to 111. Best F1 was 0.748 against a 0.730 baseline. Along the way, I found and fixed a data leak that inflated F1 to 0.87.
2024–2025 · IC, bolsa FAPESP / UFGUndergrad research, FAPESP grant / UFG
Plataforma de métricas 5G vs Wi-Fi 6E para vídeo e VR5G vs Wi-Fi 6E metrics platform for video and VR
testbed · open source
Montei um testbed com 5G Standalone (Amarisoft Callbox) e Wi-Fi 6E, com PC e óculos VR 4K. Coletei métricas de rede e de dispositivo ao mesmo tempo via ADB Shell e analisei o fluxo RTP/UDP no Wireshark: 10.719 frames, 29,1 Mbps de throughput médio.I set up a testbed with 5G Standalone (Amarisoft Callbox) and Wi-Fi 6E, using a PC and a 4K VR headset. I collected network and device metrics simultaneously over ADB Shell and analyzed the RTP/UDP stream in Wireshark: 10,719 frames, 29.1 Mbps mean throughput.
2026 · Projeto Integrador de Redes, UFGNetworking capstone course, UFG
Mini-NET
redes · em duplanetworking · pair project
Chat em Python sobre uma pilha de protocolos própria em cima de UDP, feito em dupla com Nicole Cabral Lopes Dantas. A pilha tem aplicação em JSON, transporte Stop-and-Wait (ACK, timeout, sequência 0/1), rede com endereços virtuais e TTL e enlace com MAC e CRC32, sobre um canal que perde 20% e corrompe 20% dos quadros. Minha parte: escrevi o roteador, com tabela de roteamento estática e decremento de TTL, e reescrevi grande parte da camada de transporte (Stop-and-Wait e retransmissão).A Python chat running on a custom protocol stack over UDP, built as a pair project with Nicole Cabral Lopes Dantas. The stack has a JSON application layer, Stop-and-Wait transport (ACK, timeout, 0/1 sequence numbers), a network layer with virtual addresses and TTL, and a link layer with MAC and CRC32, over a channel that drops 20% and corrupts 20% of frames. My part: I wrote the router, with a static routing table and TTL decrement, and rewrote much of the transport layer (Stop-and-Wait and retransmission).
2024 · Algoritmos e Estruturas de Dados I, UFGAlgorithms and Data Structures I, UFG
Gehenna
jogo · time de 3game · team of 3
Jogo narrativo de terror para terminal, em C++ com Ncurses, feito como projeto final da disciplina com Marcos Felipe dos Santos Soares e Rafael Alves Padilha. Tem arte ASCII, áudio com SFML, legendas e cenas com escolhas. Minha parte: escrevi a história do jogo e implementei o inventário como lista encadeada, com inserção sem duplicatas, busca, remoção e liberação de memória.A narrative horror game for the terminal, in C++ with Ncurses, built as the course's final project with Marcos Felipe dos Santos Soares and Rafael Alves Padilha. It has ASCII art, SFML audio, captions and branching scenes. My part: I wrote the game's story and implemented the inventory as a linked list, with duplicate-free insertion, lookup, removal and memory cleanup.
ACM MM 2026aceito · autor apresentadoraccepted · presenting author
CGReplay++: Replaying Cloud Gaming Sessions to Evaluate UDP, QUIC, and SCReAM
ACM Multimedia 2026, Rio de Janeiro, 10 a 14 de novembroACM Multimedia 2026, Rio de Janeiro, Nov 10–14
em avaliaçãounder review
Real-Time Face-Aware Language Agents Under Shared-Accelerator Contention
Submetido em 2026Submitted in 2026
palestratalkjul 2026
Léxico de misoginia em PT-BRPT-BR misogyny lexicon
Sessão Dirigida, 1º Encontro de Sociologia da IA, FCS/UFGDirected session, 1st Meeting on the Sociology of AI, FCS/UFG
aceitoacceptedapresentação a realizarpresentation upcoming
Conpeex 2026
Léxico de misoginia em PT-BRPT-BR misogyny lexicon
TX-04 · telemetriatelemetry
TrajetóriaTrajectoryna UFGat UFG
Pesquisador de Machine LearningMachine Learning Researcher
nov 2025 – atualNov 2025 – present
CEIA · Centro de Excelência em IA, UFGCenter of Excellence in AI, UFG
Projeto de pesquisa com empresa parceira: agentes em tempo real em hardware embarcado.Industry-partnered research project: real-time agents on embedded hardware.
Pesquisa em redes para cloud gamingNetworking research for cloud gaming
jan 2026 – atualJan 2026 – present
dcomp-leris · UFG
Transportes de mídia, controle de congestionamento e métricas de qualidade de vídeo.Media transports, congestion control and video quality metrics.
Iniciação Científica em PLNUndergraduate research in NLP
set 2025 – set 2026Sep 2025 – Sep 2026
Instituto de Informática, UFG · Orientadora: Profa. Dra. Deborah S. A. FernandesInstitute of Informatics, UFG · Advisor: Prof. Deborah S. A. Fernandes
Léxico e classificadores para detectar misoginia em português.Lexicon and classifiers for detecting misogyny in Portuguese.
Iniciação Científica em redes móveisUndergraduate research in mobile networks
2024 – 2025
UFG · bolsa FAPESP (2024/13782-1)UFG · FAPESP grant (2024/13782-1)
Testbed 5G vs Wi-Fi 6E para vídeo e realidade virtual.5G vs Wi-Fi 6E testbed for video and virtual reality.
Bacharelado em Ciência da ComputaçãoB.Sc. in Computer Science
Linux, Mininet, QUIC, RTP/UDP, GStreamer, FFmpeg, Wireshark, 5G SA, Wi-Fi 6E
AvaliaçãoEvaluation
benchmarking reprodutível, F1/precisão/recall, bootstrap e intervalos de confiançareproducible benchmarking, F1/precision/recall, bootstrap and confidence intervals
IdiomasSpoken
Português (nativo), Inglês (fluente), Francês (básico)Portuguese (native), English (fluent), French (basic)
TX-06 · canal abertochannel open
VamosLet'sconversartalk
Estou aberto a vagas em backend, full stack e IA aplicada. Se o seu time mede antes de otimizar, eu quero ouvir sobre ele.I'm open to roles in backend, full-stack and applied AI. If your team measures before it optimizes, I want to hear about it.