Software & product work

I build AI systems where the AI is never the source of truth

Four projects: a booking SaaS running in production, published machine-learning research, a payment-incident agent built in 24 hours, and zero-knowledge job matching. Each one draws an explicit boundary around what the software is allowed to decide.

* hover any number — every one cites its source.

01

TurnoBot

From a WhatsApp message to a confirmed booking.

A WhatsApp-first booking SaaS for appointment-based businesses, live in production and Meta-approved. The conversation is a deterministic state machine — no LLM in the loop: availability comes from a pure scheduling engine, and double-booking is prevented inside Postgres itself, with an advisory lock and an in-transaction re-check.

Replay of a verified booking: the message “I'd like an appointment” starts a guided flow — service, professional (auto-assigned to Agustin), real slots for Friday September 4 with the weekend skipped, confirmation at 17:30 — while an engine log shows each deterministic decision, including the Postgres advisory lock and in-transaction re-check.

From a message to a booking

● verified run

what decides — engine log

Replay of a verified end-to-end booking (2026-09-03). The original conversation was in Spanish; labels simplified, engine behaviour real.Run it live — same engine as WhatsApp ↗

02with Ciro Vilmer

ReviewLens

Can you tell a human review from GPT-4's?

Multilingual detection of AI-generated hotel reviews across 10 languages: seven models, a statistical tie at ~0.94, and a fine-tuned XLM-RoBERTa that broke the ceiling. The honest finding: trained models don't generalize — the methodology does.

Held-out test accuracy by representation: stylometric counters 0.839; TF-IDF 0.947, XGBoost 0.945 and per-language neural networks 0.940 are a statistical tie forming a ceiling near 0.94; fine-tuned XLM-RoBERTa breaks it at 0.959 with a 95% confidence interval of 0.953 to 0.964.

The representation ladder

21 interpretable counters

Only the shape of the writing: punctuation, digits, emoji, length signals — no words at all. Form alone clears the length-only floor and sets the first rung.

0.839 acc · 95% CI [0.828–0.851]
19,958 hotel reviews · 10 languages · human vs GPT-4 · same frozen 80/20 split for every familyOut of domain, every trained model collapses — that finding is the case study.

03Team of 4 · NextWave Hackathon (Yuno × Nauta, OpenAI)

PHAROS

When approval drops, find what changed.

A payment-incident investigator built in 24 hours: statistical detection over a live stream, and an OpenAI agent locked behind read-only tools and an independent auditor — it must cite evidence or say “inconclusive”.

My role: owned the product layer — full visual rebuild, evidence surfaces, in-app alerts, Chaos Lab sign-in.

A sealed incident drops card approval by 1.6 points and is detected blind in 26 seconds. The agent may only call five read-only tools, every claim passes an independent evidence auditor, and the run is capped at ten turns and fails closed — so the report either cites evidence or says inconclusive.

The agent's contract

● blind run

approval drops −1.6 pp — sealed injection, detected blind in 26 s

OpenAI agent→ may only call5 tools · read-only · strict schema
every claim →independent evidence auditor· max 10 turns, fail-closed
so the report iscited findingsor, honestly,“inconclusive”
Synthetic payment data by design — the point is the investigation loop, not the dataset.

04Team of 3 · Midnight Hack Buenos Aires

ProofMatch

Match before you disclose.

Privacy-first job matching on Midnight Network: prove salary compatibility in zero knowledge without either side revealing its number — the chain never compares the two secrets. Built in 48 hours.

My role: wrote the Compact contracts and the full test suite; coordinated the team and releases.

Private

On-chain

Employer budget E

$ ▓▓▓▓▓

 

cmt: 9f2a…c41d

Candidate ask C

$ ▓▓▓▓▓

 

cmt: 5b77…e08a

Public salary floor

—

 

floor: public

each side proves C ≤ floor and floor ≤ E

✓ match guaranteed — numbers never compared
Real ZK circuits in Compact on Midnight — commitments shown are illustrative.

Need a website for your business?

I design and build them end to end — fixed price, agreed before anything starts.

Start a project →