Method above model
No coupling to a specific LLM in production infrastructure. Model-agnostic, verified by machine.
Forward Deployed AI Engineer
Twenty years between the technical and the strategic. AI did not replace me. It amplified what I already was.

I started technical. Became a consultant, then an executive. For twenty years I did the same thing without noticing it: translate technology into business, and business into technology.
I built and scaled digital analytics, business analytics and data engineering teams at Bradesco, Webmotors, Whirlpool and DP6. Platform migrations, teams stood up from zero, decision cultures built on data.
When AI actually arrived, I expected to feel threatened. The opposite happened. I do not need to write every line to build. I build by operating the AI. Less programming, more coaching: like a manager who never touches the ball but knows exactly how the team should play.
The profile that looked scattered, technical enough to understand and strategic enough to decide, stopped being scattered. I do not call it a career change. I call it an encounter.
I design AI solutions and build the capability for teams to construct alongside. Two sides that do not separate: architecting systems for real business problems, and carrying spec-driven development and harness engineering into the teams. The goal is not to ship faster. It is to ship in a way that is verifiable and repeatable by anyone on the team, not only by whoever has the knack.
Led the Strategy & Intelligence cluster across a portfolio of large accounts in finance, insurance, e-commerce and media. Responsible for delivery, capacity and P&L. Built the dedicated-squad model with leads per account, plus in-house frameworks for capacity planning, allocation and billing.
Led a team of 13 through a complete Universal Analytics to GA4 migration with no loss of collection continuity across web and mobile.
Stood up and scaled the Business Analytics department. Owned the full Adobe stack. Positive ROI two years running, returning 1.4x on the analytics investment.
Built the Digital Analytics practice from zero, leading an initial team of 14 and positioning it as the data hub for the group's brands.
Created and led the consultancy's MarTech practice. Structured and trained the team. Member of the Strike Team for emergency and high-complexity delivery.
Constraints that matter do not live in a markdown file. They live in a gate that can reject.
I did not want to claim a method I could not prove. So I extracted every prompt I had written while building, and read them as evidence rather than memory. Three fronts: the quantitative record, a structured interview with myself, and two products compared as contrasting cases. Where the three agreed, it became a conclusion. Where they diverged, it became a documented question.
The first edition reported that my prompts grew steadily in size, and I read that as behavioural change. It was not. It was instrumentation noise: injected skill text was being counted as text I had written. The second edition retracts the finding. A study that cannot correct itself is marketing.
# Idiomas
All content must exist in Portuguese and English.The rule exists. Written, versioned, reviewed. And nothing checks whether it is followed.
$ node scripts/check-translations.mjs Translation gate: FAILED missing content/labs/gate/pt.mdx 1 of 2 expected files are missing. exit 1
The same rule, as a check. One translation missing and the build stops. Nothing reaches production.
Presence is not conformance. The gap between those two columns is the entire job.
No coupling to a specific LLM in production infrastructure. Model-agnostic, verified by machine.
Whoever builds does not validate their own output. Structural separation, not policy.
Non-negotiable constraints leave the prose layer and become enforcement: hooks, gates, CI.
Close what is open before opening what is new.
Commit volume says nothing about method. Cadence does. These numbers come from the one public repository I maintain, and anyone can check them.
One release every 1.4 commits. Finishing over starting, measured rather than claimed.
Break the rule and watch the gate stop it. A gate is not active until you have seen it fail on purpose.
This site runs its own gate. A page missing its translation fails the build instead of silently falling back.