Contact
The decisions are public. So is the email.
Say what you are building. That is enough of an opening. I read everything and answer what I can.

Track record
Fifteen years on systems where being wrong is expensive.
15+
Years in the industry
3
Continents shipped to
-66%
Incident triage time
2
Jobs held at once
Java, Spring and Python on banking and fintech systems across Brazil, the US and Europe. Most recently an LLM-assisted incident triage tool at a Tier-1 payments provider: it surfaces related past incidents and writes the queries on demand, taking average triage from roughly an hour to roughly twenty minutes. It investigates and recommends; a human still decides and acts, which is the only version of that tool I would put near production.
Alongside that, a local-first GenAI portfolio that runs entirely inside the perimeter: RAG, structured extraction, agentic tool use and on-device LoRA fine-tuning. No data leaves, and no invoice arrives from an API.

How I work
Slow to decide, fast to build, and loud about what broke.
01
I write the decision down before I write the code.
If the reasoning does not survive being written, the code will not survive production.
02
Boring beats clever.
Clever is what someone decodes at three in the morning, and on a small team that someone is always you.
03
AI does the boring eighty percent
and I own the judgement. Where it fails is exactly where the fundamentals matter, and I can tell you where it failed last week.
04
I say what I do not know.
Faster than discovering it together in production.