Meet the Agent: How Our Deployment Strategy Team Built Mo to Support Demos
I lead Deployment Strategy for APAC at TRM. My team helps customers operationalize blockchain intelligence and turn it into real outcomes: investigations that close, threats caught earlier, compliance teams that move faster. Their success is how we measure ours; we get there by focusing on what each customer actually needs to solve, and showing them how TRM helps from the very first conversation. The fastest way to do that is by showing them the right example — a tailored demo — at the right moment.
Live demos never follow a script. My best sessions are the ones where I can meet every question with a sharp, relevant example without breaking flow. But over the years, our demo example library has grown to include hundreds of examples across products, use cases, threat typologies, and customer segments.
During live calls, there’s added pressure to find the perfect demo quickly and make efficient use of our limited time. In practice, that means relying on memory, tribal knowledge, or the dreaded "let me pull that up for you" while a prospect watches me scroll through folders. The commercial stakes are high, too. A weak example selection yields weak storytelling, which results in a less compelling narrative for the prospect — a disservice to the power of what TRM’s platform can do for them and the outcomes we can enable.
Enter, Mo the Demo Bot. His job is to find the exact right demo example from TRM's library in under five seconds, mid-conversation, while I'm sharing my screen with a prospect who just asked a question I may not have immediately had an example for on-hand. I type something like /demo cross-chain exposure to Tornado Cash from any Slack channel, and Mo the Demo Bot returns ranked demo example results in-thread — each one explaining exactly why it matched.
A system that gets smarter the more we use it
I built Mo as a Slack integration. The /demo slash command accepts natural language queries and searches TRM's entire demo example library using intelligent ranked matching. Mo also gives me the context I need to understand his reasoning and thought processes. Each result he surfaces comes back with an explanation of why it matched, so I can make a quick judgment call without needing to open every demo link.
Every query to Mo is logged as a demand signal, where zero results flag a gap and weak matches flag a quality issue. A companion agent I built alongside him, DemoINT (Demo Intelligence), analyzes those logs weekly and surfaces what's missing from our library. A third agent, DemoSourcer, then finds and proposes examples to fill those gaps. A human reviews and approves the proposals, and DemoSourcer closes the loop.
Strategic intelligence as an unexpected outcome
Mo started as a search tool — a “nice-to-have” to help save our team a few minutes during live demos. But once DemoINT’s query logs started accumulating, patterns emerged that we never had visibility into before.
This turned a tactical Slack bot into a strategic intelligence feed for the GTM team — a real-time signal of what the market is asking about, derived directly from what reps need in live conversations. And it started giving us answers to questions like:
- Which use cases were prospects asking about most?
- Which product areas had the weakest example coverage?
- Where were our reps consistently seeing lagging results?
What we got wrong the first time (and how we fixed it)
My first mistake was assuming the build was the hard part. Early testing produced results that were technically functional, but practically useless — the right fields, the wrong examples, in a confidence-eroding order that made it clear that Mo was just making lucky guesses.
The problem turned out to be the library. The demo database had grown organically (a polite way of saying it had grown without structure) over time, and was rife with inconsistent naming conventions and missing fields, taxonomy, and lookup values.
But thirty minutes of deliberate human cleanup changed our course. After standardizing categories; adding lookup values; and tagging each example with the right blockchain, use case, and threat typology, we started seeing Mo’s queries produce much more relevant and dependable results.
My second mistake was not logging queries from the outset. The first few weeks of usage data were lost, which meant DemoINT had to bootstrap its gap analysis from a cold start. Lesson learned the hard way: instrument everything from day one, even if you don't quite know how you'll use the data yet.
Want to build agents of your own?
At TRM, we aren’t just building AI products for our customer — we’re standing up AI teammates that make our own people better at their jobs.
This post is part of a series where we introduce the AI agents TRMers have built. Each one has a name, a role, and a story. If that sounds like your kind of workplace, we're hiring.




















