Charaf Azzaoui
Product engineer. Spain.
Eight years in. Right now I'm technical CPO at an early-stage fintech, which in practice means I run the customer calls, model the data, design the API and then go build it.
Most of what I've worked on sits in places where being wrong costs something. Payments, invoices, approvals, KYB, and for the last year an LLM running in production inside a workflow that isn't allowed to lie.
Work
A model asked to cite its sources will invent them, fluently and in the right format. That's worse than no citation, because it looks like diligence. The usual fix is a second model call. The check you actually need is set membership: does this id exist in what we retrieved. It's deliberately boring, and it can't hallucinate.
I was about to build a freshness router on top of a search API, so I spent a morning measuring whether the thing I'd be routing around actually did anything. It didn't. I published the measurements instead of the project, with the scripts so anyone can rerun them.