Journey Builder
From event data to journey design.
Reads the events you already track, identifies which journey patterns your data can support, and builds each flow with triggers, conditions, waits, and channel steps.
- Open source
- GA4 or CSV
- Claude Code plugin
Data quality is scored first.
Lower-quality data produces a simpler flow. Richer data supports more steps and branching. The builder doesn't assume signals you don't have.
Score
69| Depth | DQS | Journey depth | |
|---|---|---|---|
| Simple | 0–39 | 3-5 steps | |
| Standard | 40–69 | 4-7 steps · one branch | this dataset |
| Branched | 70–100 | 7-12 steps · behavioral |
Your data determines which patterns are available.
Each pattern has a defined set of required events. If your data supports them, the pattern is available; if not, the builder shows what's missing.
| Pattern | Status |
|---|---|
| Abandoned cart3-8 stepsEmailPush | Ready |
| Trial conversion4-10 stepsEmailIn-app messagePush | Ready |
| Winback3-6 stepsEmailSMS | Ready |
| Replenishmentmissing item-level params | Blocked |
Each channel has its own rules.
Email, SMS, push, and in-app messages have different fields and limits. Generated copy is validated against the rules of the channel it will run on.
| Channel | Field | Limit |
|---|---|---|
| Subject | 20–50 | |
| Body | ≤ 350 | |
| CTA | ≤ 20 | |
| SMS | Body | ≤ 160 · GSM-7 |
| Push | Title | ≤ 40 |
| Body | ≤ 120 |
Patterns
Different patterns, different flows.
Examples from the pattern library. Each card shows its trigger, timing, channel, branching, and exit.
Abandoned cart
add_to_cart
Reminder: cart contents, zero pressure
Short nudge, deeplink to cart
Objection handling: shipping/returns/trust
Social proof on cart items
Last call, no fake urgency
Trial conversion
trial_start
Welcome: the one action that predicts success
Nudge toward the core feature
Use-case deepening or "what's blocking you?"
Progress recap, what stays behind on free
Expiry notice: date, price, plain and factual
Last call, real deadline only
Winback
segment: lapsed
What changed since you left, no discount
Personalized best-of, restates original value
Short direct reminder, one link
Incentive, gated on LTV tier, needs approval
Install
- 1
Add the plugin to Claude Code
/plugin install claude-lifecycle - 2
Then, inside Claude Code
Score your data, generate the journey portfolio, then write the channel copy.
/lifecycle connect # score your data (GA4 via MCP, or point at a CSV)/lifecycle journeys # generate the portfolio/lifecycle copy # channel copy for the generated journeys - 3
Read the repository, or try the demo
FAQ
Frequently asked questions
What does Journey Builder do?
It reads your existing event data, tells you which journeys it can support, and builds each one with its triggers, conditions, waits and exits. An open-source plugin that runs inside Claude Code.
What data does it work with?
A GA4 connection or a CSV export. A data quality score is calculated first; journey depth follows that score.
Which journey patterns can it build?
The available patterns depend on the events and parameters in your data. If a pattern is supported, it can be built; if not, the builder shows which signal is missing instead of assuming it exists.
Does it write the message copy too?
Yes, against channel rules. Email subject 20-50 characters, SMS 160 characters, push title 40 and body 120. Every message is checked against its channel's rules before it goes out.
Can I adapt the output to my own product?
Journeys are starting points, not fixed recipes. Change the triggers, conditions, timing and next steps as you need.
What's the difference between Journey Builder and Journey Library?
Journey Builder reads your own event data, determines which patterns it can support, and generates the flows. Journey Library is a separate reference library of ready-made, domain-neutral journey structures.
If this work overlaps with yours, let's talk.
Send me a note about growth, CRM, measurement or one of the projects here. A question, a counterpoint or a simple hello all work.



