Mo Moustafa builds AI products, including the Olly messaging assistant, Codemancer command-line coding tool and Unstock vector-art generator. He writes about the operational failures that appear when an agent depends on multiple model providers.[1]
Start with So you want to use OpenRouter? →
Career
Moustafa dates Unstock to August 2022, Codemancer to February 2023 and iChatWithGPT to April 2023. The latter evolved into Olly, using a reasoning-and-action loop for web search and reminders inside messaging. His portfolio also includes a model router, agent email client and tools for communication between coding agents. He reports engineering and product-management work at three Y Combinator companies, without naming them.[1]
Contributions
Olly’s service skill separates feedback from requests needing human support. With the user’s permission, an escalation saves the issue and recent conversation and notifies Moustafa. His response returns as an instruction to relay the answer in the user’s language, with the quoted request and response treated as untrusted content. This connects a human operator to the existing message thread while preserving an explicit boundary around agent actions.[4]
Ideas
His OpenRouter essay distinguishes model weights from the provider serving them. He reports differences in image handling, tool-call parsing, reasoning controls and empty responses even when endpoints advertise the same model. His practical method is to pin providers, probe from production infrastructure and validate the response body rather than accepting HTTP 200 as success. The observations describe his workloads and dated tests, not permanent rankings of providers.[3]
Tools, writing & talks
Writing, research & talks
Start here
So you want to use OpenRouter?mmoustafa.comDeployment checks for provider differences, malformed tool calls and empty completions.
Read the provider checklist before choosing a default endpoint. It assumes familiarity with API responses and tool calls; the linked probes help you test your own workload rather than reuse the dated rankings.
Author[3]Original source- How to make your agent do its own supportmmoustafa.com
A small TypeScript escalation path from an assistant to its human operator.
Author and developer[4]