← All work

Production LLM agent, BlackRock · 2025–26 · In production

The model proposes. Deterministic code decides.

Setting up a portfolio meant forms, reference-data lookups and back-and-forth between teams. PortBot lets an operations user describe what they want in plain language and turns it into a request that is valid before it is ever submitted.

1,500+ users. 99.2% uptime. 16,640 hours saved a year.

How it works

Parse. Schema-constrained tool calling pulls 23+ fields out of a free-form request.

Resolve. Fixes typos in tickers and benchmarks, and asks instead of guessing: "Dollar", USD or AUD?

Validate. SQL lookups, allowed values and cross-field checks run before anything is written.

Audit. Every change keeps who asked, the conversation and a field-level diff.

Why it is built this way

In finance a confident wrong answer is worse than a question. So the model only extracts and proposes. Every value it produces passes through code that can say no, and every decision is logged with who asked and what changed. The work is internal, so this page describes my part without sharing private material.

esc