Wyse Campaign Setup

What was proposed, what actually landed on the Wyse VM, and what is still missing.

Source thread: T3 Code Campaign Setup (originally Email campaign platforms), 23 Jul–4 Aug 2026. Project: macbook-pro-wyse.

Original goal

Lifecycle campaigns such as:

Later channels: WhatsApp, SMS, push, and possibly trading via WhatsApp. Constraints: stay near $100/month, keep CLI/MCP for workflow creation, reuse the existing Wyse stack.

What was proposed (and how it changed)

1. First architecture: Customer.io

Dove → PostHog → Customer.io
          ↑
     Falcon/Hatchet

Falcon would be source of truth for trades/funding; PostHog would keep browsing events; Customer.io would own audiences and sends.

Rejected: Essentials ~$190/month at 15k users. Builder is cheaper but drops journeys, dynamic segments, and real automation.

2. Sender.net (and Sender + Zernio)

Sender was cheap for email automations, but had no official CLI/MCP, no WhatsApp/push, and no API to create workflows. Sender + Zernio split email and WhatsApp with no shared workflow state, preferences, or in-app/push.

3. Chosen path: PostHog + Novu + Maileroo, code in Raven

Novu was chosen for MCP/CLI, multi-step workflows, and future WhatsApp/push/in-app. The first sketch put a Novu adapter in Falcon. That was changed: almost all new code should live in Raven.

Marketing / campaign API
        ↓
      Raven
   ├── audience / eligibility
   ├── campaign_id, run_id, delivery_id
   ├── consent + suppression
   └── trigger Novu
        ↓
   Novu workflow (delay, branch, template)
        ↓  email webhook
      Raven Maileroo provider
        ↓
     Maileroo

Maileroo webhooks → Raven → PostHog
Trades            → Falcon (attribution) → PostHog

Novu orchestrates. Raven owns IDs, delivery, tags, webhooks, unsubscribe, and reporting. PostHog owns funnels and conversion.

What was actually implemented (4 Aug, Wyse VM)

This is the from-scratch VM work.

VM

Novu

Raven campaign stack

Verified send

Live URLs at the time: Raven https://38-242-206-255.sslip.io, Novu https://novu.38-242-206-255.sslip.io.

Earlier in the same thread, Maileroo SMTP was proven independently (plain text + HTML win notification from the verified Wyse sender).

Agreed but not built as originally planned

Agreed in the checklistWhat happened
Custom novu.wyse.market / raven.wyse.marketSkipped; sslip.io used
Rotate Maileroo keys after they were pasted in chatExplicitly not rotated; still recommended
Falcon service credential for email/eligibilityLive test used a hardcoded one-person cohort, not Falcon
Consent from FalconAssume full consent; only Raven suppression/unsubscribe is real
First audience: last-week signups, verified, traded, unresolved marketReplaced by the one Gmail for verification
PostHog cohort as the audience sourceEvents captured; no live PostHog→Raven cohort pull for sending
VM backupsSkipped
VM resize to 8 vCPU / 16 GBSkipped; pilot-only

Gaps

Product / campaign system

The pipeline is a pilot email path, not a marketing system. Not implemented:

Falcon / Dove

The VM Falcon DB was empty. Campaign ideas used production PostHog only, not production Cloud SQL.

Analytics

WhatsApp / SMS / push

Researched, not implemented. End recommendation: Zernio behind a Raven provider, Novu for orchestration, Raven for consent/IDs/inbound. Meta Cloud API is the no-markup alternative. Wasender is test-only.

Ops / security

Current state, short version

Proposed: PostHog finds people → Raven checks eligibility and IDs → Novu runs the journey → Raven/Maileroo delivers → webhooks + PostHog measure trades.

Implemented: Self-hosted Novu on the Wyse VM, Raven campaign/email/webhook/unsubscribe/reporting, one successful email that opened.

Gap: The growth loop — Falcon eligibility, real consent, PostHog audiences, conversion attribution, the five campaigns, WhatsApp, and production hardening.

Highest-leverage next campaign from the thread: second-trade catalyst (128 of 226 production traders never placed a second trade; most who did did it within ~2 hours). That still needs Falcon validation before any send beyond the test address.