A 26-year career in telecom billing: tax, accounting and financial reconciliation,
Oracle and PL/SQL. Over the past year, two products shipped to production, built by
directing AI coding agents.
Available for senior roles in São Paulo — on-site, hybrid or remote
Portal BrasileirãoCompanion app for the Brazilian Série A championship — React 19, TypeScript,
Express 5, Tailwind 4, AWS.
Agora na Copa 2026Companion app for the FIFA World Cup 2026 — React 19, TypeScript, Express,
AWS.
I spent 26 years building and maintaining telecom billing systems — invoicing, tax,
accounting and financial reconciliation, and subscriber base migrations. It is a domain
where the software answers for money already charged and obligations already filed:
correctness is not a quality detail, it is the product.
Over the past year I brought that discipline to development with AI coding agents. I use
Claude Code, GitHub Copilot and Cursor to write most of the code; my job is to decide
the architecture, define what has to hold true, and verify every change before it
reaches production. Both live products were built this way — with unit tests, end-to-end
Playwright specs, and deploy pipelines with a rehearsed rollback.
The underlying work has not changed: it is still engineering supervision. What changed
is how fast the code appears, not who is accountable for it.
Experience
Objective Solutions
Mar 1999 – Dec 2023 · 15 years as Senior Developer, around 10 as Consultant
Telecom billing in Smalltalk, Java and PL/SQL on Oracle — the Diginet product and its
successor, Objective NG. Billing and tax Data Warehouses, tax, accounting and
financial reconciliation, and four end-to-end data migrations. Clients including Sky,
Telefônica/Vivo, HughesNet and PreventSenior.
Software built by directing AI coding agents — Claude Code, GitHub Copilot and Cursor.
The architecture, the acceptance criteria and the verification before production are
mine.
In production
Portal Brasileirão
— Companion app for the Brazilian Série A championship
Standings, fixtures and statistics for the Série A, with OAuth login and a
frozen-snapshot fallback when no API token is available.
React 19 · TypeScript · Express 5 · Tailwind 4 · AWS · 1,523 unit tests and 46
end-to-end Playwright specs · 910 commits in eight weeks
Monte Carlo simulator for qualification odds, using a Dixon-Coles model and the
Article 13 FIFA tie-breaking criteria.
React 19 · TypeScript · Express · AWS · 283 unit tests and 37 end-to-end
Playwright specs · 1,204 commits
Beyond production there are experiments and tooling — a
local RAG system
and a study-track control system, both in Python, alongside ai_workflow, gitx and
libraries published on npm — and the
public GitHub portfolio, holding more than 50 non-fork repositories.
Problema originalAI with a little drift... my eyes turned blueAI with too much drift. Didn't get it at all.
People who understand tax rules, invoicing and reconciliation usually do not build
modern software. People who build modern software have rarely reconciled a credit-card
system. I spent 26 years on the first side and the past year shipping production
products on the second.
In practice that means being able to say why a number is wrong before opening the code —
and then fixing the code. It is the combination that matters in billing, reconciliation,
revenue assurance, data migration and systems in regulated industries, where the cost of
being wrong is not an ugly screen: it is an incorrect charge or an incorrect filing.
Outside of code, I am interested in music — I have a project to compose using Strudel.