Skip to the content
LATAM Bank
Live demoCode

Fast where it is safe, human where it matters.

A dispute assistant for LATAM Bank, in Spanish and Portuguese. It closes the safe cases in seconds and hands the rest to a person, case ready.

handoff.app
handoff.app
An approved charge handed to a person, with the case card
chat.app
chat.app
A resolved charge in Portuguese, with the case card

Agents decision

Pick a message, in Spanish or Portuguese, and press Send. Watch the robots hand the case along. The model robots read the message and write the reply. The one in the middle is plain code, and only the backend writes to the bank.

robots.desk
chat.app

Pick a message

Pick a message and press Send. The robots answer here.

No reconozco el cobro de 389,87 USD en Moda Express.

The messages are examples, and each one is paired with the charge behind it so the Judge has facts to decide on. The Judge is the real order of checks, written as code. The Reader and the Speaker are described, not run.

  1. 1 understand.agent

    Reader

    model

    Waiting.

  2. 2 decide.agent

    Judge

    code

    Waiting.

  3. 3 act.agent

    Clerk

    backend

    Waiting.

  4. 4 verify.agent

    Checker

    backend

    Waiting.

  5. 5 escalate.agent

    Courier

    code

    Waiting.

  6. 6 respond.agent

    Speaker

    model

    Waiting.

understand.agent

Reader (model)

Reads
The customer's message.
Writes
A guess of the intent, with a confidence.
Cannot
It reads. It cannot decide or close anything.

Click a robot to see what it does.

The customer writes

In Spanish or Portuguese, in plain words. The assistant finds the charge and checks it against the policy.

Click the screen to enlarge it.

chat.app
chat.app
A customer reports a charge in Portuguese and the assistant answers with the case card

A person takes it

An approved charge never closes alone. The customer is told a person will review it, and the case moves to the queue with the facts attached.

Click the screen to enlarge it.

handoff.app
handoff.app
An approved charge handed to a person, with the handoff card

The case arrives prepared

Verified facts, the rule that applied, the customer's message and the agent's trace, on one screen.

Click the screen to enlarge it.

case.app
case.app
The specialist's case detail with verified facts and the agent's trace

The pitch

The three-minute video and the six slides, here on the page. Both can be downloaded.

pitch.mp4
slides.app
slide 1.png
Slide 1 of 6: LATAM Bank dispute assistant

1 / 6LATAM Bank dispute assistant

Download the slides, .pptx (110 KB)

What we measured, and what we did not

372 of 372.

Test cases where it must not resolve alone, and it never did. A small sample never proves zero risk: the upper bound is about 1%.

Cases tested

549, end to end. Offline results on cases the team generated, not a production measurement.

Intent classification

100% with the model against 49% with keywords, on a blind set of 228 messages.

Still missing

The data is synthetic, the login is a sandbox, and there is no load test or alerting. The repository lists what a real bank would need first.

Everything in one place.

team.txt
BitCoders logo: a hooded figure at a laptop inside a hexagon, with the tagline Code // Win

Built by team bitcoders for the Factored AI and Data Hackathon 2026.

Diego RejalasLinkedIn
Felix MoralesLinkedIn