# We Are Customer Zero

*Published 2026-07-08* | Author: brad-webb

<blockquote><p><strong class="lede-label">tl;dr</strong> <span class="lede-lead">Before Bryn ran for anyone else, it ran for us, and it still does.</span> We point it at our own funnel and let it watch, score, and run against the pipeline we live or die on, and we have since long before we let another team near it. This is what Customer Zero was actually like, told partly in Bryn's own voice, including the first run it ever made for us and the one number that moved. Then an invitation to come run a signal of your own.</p></blockquote>

<hr>

<h2>The first run it ever made for us</h2>

<p>Here is the first thing Bryn ever did on our funnel, in its own words.</p>

<blockquote class="bryn-voice"><p class="bryn-voice__who">&#11045; Bryn</p><p>I noticed Northwind came back to your pricing page for the third time in an hour, and a second person from the same account showed up behind them. They cleared four of the five axes on your Growth ICP. That matched the pricing-revisit Play you approved, so I drafted the intro from the assigned owner and held it for your yes. You said yes in four minutes. I sent it and logged the run.</p></blockquote>

<p>That is run #0001. It is unglamorous, and that is the point. No demo magic, no dashboard to admire. A signal came in, it got scored against our definition of a good account, a move went out while the moment was still warm, and the whole thing left a receipt. Step through it yourself:</p>


RUN #0001, STEP BY STEP

10:02:11  watched   northwind: pricing_view x3
          Bryn: Northwind came back to your pricing page a third time in an
          hour, with a second person behind them.
10:02:12  scored    icp.growth: cleared 4/5 axes
          Bryn: They cleared four of the five axes on your Growth ICP. Warm
          enough to matter, by your own definition.
10:06:44  approved  brad (4m)
          Bryn: This matched the pricing-revisit Play you approved. I drafted
          the intro and held it for your yes. You took four minutes.
10:06:45  ran       send.intro from owner
          Bryn: Sent the intro from the assigned owner, while the moment was
          still warm.
10:06:46  logged    run #0001
          Bryn: And I kept the receipt. Run #0001. You can always ask me why.


<p>We have thousands of these now. But that first one is the one I keep, because it is the moment the argument stopped being a thesis and started being a log line.</p>

<h2>The only honest way to ship this</h2>

<p>Before Bryn ran for any other team, it ran for ours, and it still does. We are Customer Zero. Bryn watches, scores, and runs against the same pipeline we live or die on, and it has since long before we let another team near it.</p>

<p>That is the only honest way I know to ship something you intend to put in front of other people: be the first one it can embarrass. If it was going to send a bad message, route to the wrong owner, or act on a signal that did not deserve it, I wanted it happening to us, in a room where we could see it, long before it happened to you.</p>

<h2>What we were actually trying to fix</h2>

<p>I told most of this story in <a href="/field-notes/buy-your-way-out-of-the-signal-gap">an earlier note</a>, so I will keep it short.</p>

<p>We had built a go-to-market stack that could see almost everything and act on almost nothing. De-anonymized traffic, enrichment, product events, an intent feed, a Slack channel where it all landed. Excellent eyes. No hands. A good signal would fire on Tuesday and a real response would go out Thursday, if it went out at all, because every step between detection and action was a human handoff with no owner and no deadline.</p>

<p>The gap was not a data problem. It was a doing problem. And you cannot buy your way out of a handoff. We tried.</p>

<h2>So we stopped buying and started building</h2>

<p>At Civic we build agents. So instead of buying another way to see, we built the thing that acts: an agent that watches the product, the site, and the systems of record together, scores intent against our own definition of a good account, runs the Play we approved, and logs every step. Bryn is not another dashboard to watch. It is the governed execution layer that runs Plays through your stack.</p>

<p>Then, before we did anything else with it, we ran it on us.</p>

<h2>What Customer Zero looked like</h2>

<p>The first weeks were humbling in the useful way.</p>

<p>We started in Approve mode, because I did not trust it yet and that was the honest place to start. Bryn would watch, score, draft the move, and wait for a yes. We read every one. Most were right. The ones that were wrong taught us exactly which guardrail we had written too loose, and we tightened it. That is the loop working: not a model we hoped was correct, but a record we could read and argue with.</p>

<blockquote class="bryn-voice"><p class="bryn-voice__who">&#11045; Bryn</p><p>You told me no eleven times in the first week. Nine of those were the same guardrail: I was scoring re-engagement from existing customers as new intent. You tightened the Play. I have not made that one since. It is all in the log if you want to see the day it changed.</p></blockquote>

<p>After a few weeks the yeses got boring, which is the signal you are waiting for. We moved the Plays we trusted into Run mode and kept the rest on Approve. The kill switch stayed within reach the whole time. We never had to use it in anger, but knowing it was there is most of why we were willing to let go of the wheel at all.</p>

<h2>The one number that moved</h2>

<p>The number we had been afraid to measure was our own time to action: the median gap between a high-intent signal firing and a real, credible response going out the door. Toggle it:</p>


TIME TO ACTION, BEFORE AND AFTER

Before Bryn:
Tue 10:02   signal fires: pricing_view x3
Tue 11:40   someone notices the Slack alert
Wed 09:15   standup: who owns this?
Wed 14:00   owner assigned
Thu 14:30   a response finally goes out
About three days. And an embarrassing share never got a response at all.

After Bryn:
10:02:11    signal fires, watched
10:02:12    scored against your ICP
10:06:45    the Play you approved runs
10:06:46    sent, and logged
Minutes. Same funnel, same signals. The doing stopped waiting for a human
to be free.


<p>Before Bryn, that number was measured in days, and an embarrassing share of signals never got a second timestamp at all. After, high-intent signals were moving from "we'll review this later" to action within minutes. Same funnel, same team, same signals. The difference was that the doing stopped waiting for a human to be free.</p>

<p>And the receipts came with it, which I did not expect to care about as much as I do. We could always answer why a given account got contacted on a given day, in one log, in plain language. Speed without a record is just a faster way to lose track of what you did. Bryn gave us both.</p>

<h2>Why I am telling you this</h2>

<p>For most of my career, the answer to a go-to-market problem was to buy another tool. More eyes, more dashboards, more feeds. It took me an embarrassingly long time to admit that we had enough eyes years ago, and that the thing we kept not buying was hands.</p>

<p>We finally stopped buying and built the hands. It is called Bryn. It ran for us first, it kept its receipts, and it earned the wheel one boring yes at a time. It is not only for us anymore.</p>

<h2>Come run a signal</h2>

<p>Bryn is the Signal-Based GTM agent for Growth teams. If you run growth at a B2B SaaS company and you have ever watched a good signal go cold, I think you will recognize the problem the first time you connect a source.</p>

<p>You do not have to take my word for any of it. There is a 7-day trial, no credit card to start, and it begins at $49 a month. Connect one source, write one Play, and watch Bryn run a real signal of your own. That is the whole pitch: come run one, and be your own Customer Zero.</p>

<p>Stop watching signals. Start running them. You can start at <a href="/bryn">civic.com/bryn</a>.</p>

Source: https://www.civic.com/field-notes/we-are-customer-zero
