Skip to content
View ElMatiOfficial's full-sized avatar

Block or report ElMatiOfficial

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
ElMatiOfficial/README.md

Sebastian Mateus

Senior AI/ML Engineer · Nequi (Grupo Bancolombia) · Colombia

Pre-training foundation models on customer transaction sequences.
8+ years shipping production ML. ES / EN / PT.

Portfolio LinkedIn Kaggle TEDx

I work on the distance between what a system appears to do and what it actually does:
evaluation that survives scrutiny, agent tool-use that has to earn its place,
and failure modes written down before somebody else finds them.


Four results

Indexed by what I found, not by what I built. Every number below links to the file that would falsify it.

01 · Five of my twenty finished Kaggle competitions are substantially my own work

Provenance ledger: 20 submissions diffed Substantially original: 5 of 20 Verbatim copies: 6 of 20 Licence: CC BY 4.0

kaggle-solutions — a short paper for each of the 20 competitions I have finished, and an attribution ledger that grades them. Every final submission was diffed against the public notebook it came from with difflib.SequenceMatcher.

The measured record, published before anyone asked for it: 6 verbatim copies at similarity 1.000, 5 derived, 5 substantially original, 3 teammate-authored, and 1 derived solution carrying original analysis. All three medals — one silver, two bronze — came from the copied or derived half, and the ledger names every upstream author. The five originals are the number I actually care about, and the most transferable work sits in entries that finished lower: hysteresis mask fusion on Vesuvius (private 0.56159 against public 0.55264), Gene Ontology DAG propagation on CAFA 6, 400 per-task ONNX networks on NeuroGolf.

How the ledger was built — four steps and a stated threshold
  1. Identify the submission that actually counted — pulled from Kaggle's internal API (team.privateLeaderboardSubmissionId), the one scored on the private leaderboard, not the best-ever and not the most recent.
  2. Retrieve its source notebook with kaggle kernels pull.
  3. Search for a public original by title, distinctive constants, and in-notebook credits.
  4. Reduce both notebooks to non-empty stripped code lines and diff them with difflib.SequenceMatcher, reporting a similarity ratio plus added and removed line counts.

Similarity ≥ 0.99 is classified as a verbatim copy. The ledger reports measurements, not impressions, and the method is written out so the numbers can be reproduced against my public Kaggle account.

02 · The maths tool I built for agents mostly does not get used

CI Licence: MIT

EML-Mathematical-Translator-for-AI — translates expressions to and from Exp-Minus-Log trees, the single binary operator Odrzywołek, arXiv:2603.21852 showed is sufficient to express every elementary function. The 116-test suite runs on Python 3.9 through 3.13 on every push, with macOS and Windows spot-checks. Install from source — it is not on PyPI.

Then I wired the operations into Claude as tool-use tools and measured whether the agent got better at mathematics. It mostly did not: on calculus and algebra the agent routes around EML into sympy, for a reason that is mechanical rather than mysterious — multiplication's EML tree is K=41, sine and cosine exceed K=100, π is K=193, so past the paper's short identities a pure-EML route is not worth taking. That result sits in the README above the install instructions. The library is an exact translator and a complexity metric, not a reasoning substrate, and saying so is more useful than shipping the hypothesis unlabelled.

03 · If the person on the call cannot produce a fresh code, they are not who they claim to be

CI CodeQL Secret scan Licence: Apache 2.0

realh — proof of personhood and content provenance, built for the deepfake-CEO call. A verified user mints a single-use code that expires in 120 seconds and passes it over any channel; anyone can check it on a public page with no account. Codes are stored hash-only and consumed atomically, so a replay raises a loud already used. Underneath: W3C Verifiable Credentials signed with Ed25519, a did:web document and a public JWKS, so a relying party can verify offline, without trusting the issuer at runtime. TypeScript, thirteen months of commits, with CodeQL and secret scanning on every push.

The README opens with four specific reasons not to run it in production — a mock identity provider, signing keys on disk instead of a KMS, JSON.stringify where RFC 8785 canonical JSON belongs, and no revocation path — because a reference implementation that hides its threat model is worse than none. The third has its own decision record: trade-offs argued in writing rather than left in a commit message.

04 · A chain filter you cannot argue with is a filter you have to take on faith

CI Live demo Licence: MIT

barrio-mapper — pulls the small, independently owned businesses of a neighbourhood out of OpenStreetMap — tiendas, droguerías, ferreterías, talleres — and removes the chains with three independent signals: brand tags, a name blacklist, and a frequency heuristic. "Chain" is a judgement call, so every rejected POI is written to rejected_chains.csv with the reason it was rejected. You can audit what the filter threw away rather than only what it kept, and whitelist the local mini-chain it got wrong. Tested end to end on Medellín; a Python CLI plus a version that runs entirely in your browser.


Verification index

Seven claims made on this page, and the artefact where a stranger can falsify each one.

# Claim Where it is checked
1 6 verbatim · 5 derived · 5 substantially original · 3 teammate-authored · 1 mixed, across 20 finished competitions — measured with difflib, not asserted PROVENANCE.md
2 My own Vesuvius method generalised: private 0.56159 beat public 0.55264 Vesuvius write-up
3 corr(public, private) = −0.037 across 35 scored draws of one solution — public-leaderboard tuning measured as noise ROGII write-up · published on Kaggle
4 A design decision written down with its trade-offs instead of buried in a commit message ADR 001, JCS canonicalisation
5 116 tests, green across Python 3.9–3.13 and on Linux, macOS and Windows EML CI runs
6 A negative result published in the project's own README, above the install instructions What happened when I actually tested it
7 Kaggle Competitions Expert, ranked 1,095 of 210,960 kaggle.com/sebastianmateus

What I work on

Area In practice
Foundation models Pre-training on customer transaction sequences at Nequi — sequence modelling of financial behaviour, and what the learned representations actually encode
Credit risk PD and LGD · loss-rate forecasting · IV/WoE · Platt calibration · SHAP-driven adverse-action reasons
Agent security Multi-step tool-use attacks and defences · tool designs measured rather than assumed
LLM evaluation Leaderboard variance and selection error — one controlled measurement puts corr(public, private) at −0.037 across 35 draws of a single solution
Program induction ARC — ARC Prize 2025 write-up
3D segmentation Vesuvius Challenge — own method, hysteresis mask fusion
Stack Python · SQL · PyTorch · scikit-learn · XGBoost · LightGBM · Hugging Face · BigQuery · dbt · Airflow · FastAPI · MLflow · AWS · Docker · Terraform · GitHub Actions

Elsewhere

Where What
Portfolio elmatiofficial.github.io — hand-built, trilingual
Kaggle sebastianmateus — Competitions Expert, ranked 1,095 of 210,960 · every finished competition written up and attributed
LinkedIn sebastianmateusperdomo
TEDx Talk on YouTube

Trilingual ES / EN / PT · based in Colombia · every claim on this page links to the thing that checks it.

Pinned Loading

  1. EML-Mathematical-Translator-for-AI EML-Mathematical-Translator-for-AI Public

    Translate mathematical expressions to and from EML (Exp-Minus-Log) trees, the single-operator primitive for elementary mathematics from Odrzywolek (arXiv:2603.21852). Built for AI/ML researchers.

    Python

  2. realh realh Public

    Open-source proof-of-personhood and content-provenance tooling. Issues W3C Verifiable Credentials signed with Ed25519; verifiable offline via did:web + JWKS.

    JavaScript