- Now
- AI team at SYDLE
- Based in
- Belo Horizonte, UTC−3
- Works in
- Rust, TypeScript, Python
I work on retrieval and the layer between a product and its model providers.
Software engineer at SYDLE since 2023, on the AI team since March 2026. My first three years there were on the company's education platforms. On my own time I ship developer tooling in Rust and TypeScript.
Download CV (PDF) Two pages, generated from the same facts as this site.
Case studies
Four, picked because the decision in each is a different kind: how to rank, what to let a model do, whether the problem needed solving at all, and whether a judgement can be written down as a rule.
BM25 + kNN
RRF
Vector search could not match a name
A customer reported that searches for exact strings came back wrong, people's names above all. The index was vector only, and embeddings put two different names in nearly the same place. I added a lexical pass and combined the two rankings by position rather than by score.
GitHub Actions
WordPress REST
A publishing pipeline I do not have to watch
Five stages that research, write and publish to a live site. Most of the work went into the check that sits between generation and publishing, and into keeping the publishing credentials away from the process that writes.
crates.io + npm
Apache-2.0
Six agents reading one file
Coding agents each want their own rules file, so people keep the same text in half a dozen places. The tools that solve this generate a copy per tool. Since the formats had already converged, I gave the one file several names instead, which removes the generate step and the copy you can edit by mistake.
ESLint
AST
A migration nobody read line by line
Around 140 classes had to be reviewed and changed. Writing the review as a lint rule instead of doing it made the migration repeatable, but the linter could not see the runtime that the framework injects, so most of what it reported was false. The work was giving it a model of that environment.
Experience
SYDLE, AI team
March 2026 to now
I work on the layer between the product and the model providers: retrieval, the connector facade that every agent configuration talks to, tool calling, and the integration tests that record real gateway traffic so the suite can run without paying for it.
Eleven providers sit behind that one interface:
SYDLE, education platforms
May 2023 to March 2026
Nearly three years across four production systems used by thousands of people, on core modules, front-end architecture and a legacy migration.
Also shipped
architect
A Claude Code plugin that audits a repository and installs what is missing: branching, database isolation, CI, versioning, enforcement. It sets up the environment rather than writing the application.
tecnoversus.com
The site the pipeline publishes to. I am the only engineer on it, from the pipeline through to the deploy.
Studio 733
Laundry booking for a building of about twenty residents. No login: people identify by apartment number, because signing up was the thing that would stop them using it. Private deployment, so there is no link.
University reports
Coursework from UFMG, published so the claims are checkable: 1.24M Brazilian theses classified and clustered, subgroup discovery over breast cancer genomics, transfer value prediction. The README says which results held and which did not.
Contact
Let's talk.
If you are working on retrieval, developer tooling, or anywhere a model's output has to be trusted by a person, I would like to hear about it.
Remote suits me best. On-site and hybrid work too, if you are in Belo Horizonte.