BRYN byCivic
The Play library

A Play is a pattern with an outcome.

Bryn names the pattern by its parts, for example pricing comparison repeat (7d). A Play is what you decided should happen every time that pattern appears: which destinations, which guardrails, which window. Author it once, approve it once. Bryn runs it every time it sees the pattern, without waiting on you.

Shipped at GA

Named by their parts. Ready to run.

An account keeps returning to pricing and comparison material inside one week. The Play pings #growth-signals, files a CRM task with the signal chain attached, and personalizes the landing page for the next visit. Within the minute, on the record.

Example run 14:02 UTC
triggerpricing ×3, book-a-demo7d
scorecomposite 7614:02
routed to #growth-signals CRM task landing page

A known account reads the docs, opens the integrations catalog, and invites a teammate. The Play files an expansion task and arms an in-app prompt for the new seat.

Example run 09:41 UTC
triggerdocs, integrations, invite48h
scorecomposite 7109:41
routed to CRM task in-app prompt

A trial goes quiet for three days, then the account comes back. That return visit is the moment. The Play pings the owner and personalizes the landing surface toward the unfinished setup step.

Example run 16:18 UTC
triggeridle 3d, return visitnow
scorecomposite 6916:18
routed to #growth-signals landing page

An active trial invites its second seat. Team formation inside a trial is the strongest convert signal there is. The Play files the task and arms the upgrade prompt.

Example run 11:55 UTC
triggerseat-invite ×224h
scorecomposite 8011:55
routed to CRM task in-app prompt

Third-party topic surge plus a resolved identity on your site, in the same window. The Play pings the owner and hands the account to your sequencer, inside the partner posture: your outbound stays your outbound.

Example run 13:07 UTC
triggertopic surge, identity resolved24h
scorecomposite 7413:07
routed to #growth-signals sequencer
Anatomy

trigger score output audit entry

One worked example, end to end. Every Play decomposes into the same four parts, and every run files the same kind of record.

A1 Trigger

pricing comparison repeat (7d)

The named behavior, with its window. Literal parts, not a paraphrase: three pricing visits, comparison material, repeated inside seven days.

A2 Score

Fit 82 Intent 74 Timing 68

Three visible axes against your ICP, composite 76. The Play sets the threshold; this one fires at 70.

A3 Output

Slack ping, CRM task, landing personalization.

Three of seven destinations for this Play. The guardrails name the channels; Bryn does not write anywhere else.

A4 Audit entry

Filed at 14:02 UTC, replayable.

What it saw, why it scored that way, what it did. The entry is the work proof and the substrate Bryn learns from.

Bryn pattern detail: the worked example as it ships, the filed pattern with its source-traced audit log
Bryn ⬩ pattern detail the anatomy above, as it ships
Author your own

Point and click, or define it in code.

Visual Explore+

The visual builder.

Compose trigger, threshold, destinations, and guardrails from the parts Bryn already watches. Every tier includes it.

Code Growth+

Code and YAML.

Plays as files: versioned, reviewable, diffable. The same primitives, in the register your team already uses for things that matter.

Not ready to run one yet?

Get new Plays and release notes as they ship, by email, nothing else asked.

Run your first Play this week.

7-day trial five Plays included at GA