Checking the live backend…

Find the revenue you’re losing. Win it back.

Upload your customer data and GrowthOS finds where revenue is leaking, writes the campaign to recover it, and tracks what converted. You approve the decisions. It does the work.

Sign in

The demo runs in your browser on sample data. No sign-up, nothing is sent.

GrowthOS dashboard showing the highest impact opportunity and live agent activity

Locate revenue

See exactly where revenue is leaking

Opportunities arrive sized and ranked: who they are, how many, and what recovering them is worth. Ask for a goal in plain language and the agent builds one on demand.

Opportunity detail showing audience intelligence, key signals and the recommended campaign

Draft the campaign

A campaign written for the audience, not a template

Copy, channel and offer come from the data. Preview it as the customer will see it, then steer it with a sentence: shorter, more urgent, more premium.

Campaign builder with a WhatsApp preview and refinement controls

Track results

Watch the funnel move in real time

Sent, delivered, read and clicked, by persona and by hour. Duplicate and out-of-order provider events cannot push a number backward.

Campaign analytics with conversion flow, audience mix and channel performance

Know the customer

Personas that come from your data

A model names the clusters that actually exist in your customers, with the spend, recency and category behaviour behind each one.

Customer personas with spend, orders and favourite category

How it works

Six steps from a CSV file to a campaign with measurable results.

  1. 01

    Ingest

    Customers and orders arrive as CSV. The importer validates, de-duplicates per tenant, and computes RFM scores and behavioural attributes for every customer.

  2. 02

    Segment

    A model reads the computed metrics and names the personas that actually exist in your data, rather than sorting customers into a fixed template.

  3. 03

    Locate revenue

    Deterministic rules surface seven opportunity types, including dormant VIPs, churn risk, cross-sell and reactivation. Each carries a sized audience and a revenue estimate.

  4. 04

    Draft the campaign

    The agent writes channel-appropriate copy and three message variants for the chosen audience. Refine it in plain language until it sounds like you.

  5. 05

    Send and measure

    Approved campaigns leave through durable recipient jobs and report back over signed webhooks. Duplicate and out-of-order events cannot move the funnel backward.

  6. 06

    Track results

    Analytics shows sent, delivered, read and clicked events for each campaign, so you can see which messages actually brought customers back.

What code decides, and what the model writes

The numbers are arithmetic in TypeScript. The model only touches language.

Code decides
Model writes
RFM scoring and recency windows
Persona names and descriptions
Opportunity detection rules
Why an opportunity matters, in prose
Audience sizing and revenue estimates
Campaign copy and variants
Delivery state machine and ordering
Natural-language refinement

Built to run in production

Next.js 16 · React 19 · TypeScript · Tailwind 4 · Express 5 · PostgreSQL · Prisma 7 · Supabase Auth · BullMQ · Redis · Zod · OpenRouter

Three deployable services
A Next.js frontend, an Express API, and a separate channel service that models a messaging provider over HTTP, so retries, signatures and out-of-order callbacks are real problems the code solves.
Typed boundaries around the model
Every call runs prompt, JSON parse, Zod validation, then database write, with a retry and a usable fallback. No free-form model output reaches the database or the UI.
Tenancy enforced in the API
Every database transaction carries the authenticated tenant into PostgreSQL. Row-level security and ownership checks both reject cross-tenant access.
Built to sleep, ready to wake
The site and this demo live on Vercel and never go down. The API, worker and channel service run on AWS only when switched on, and the app detects that and falls back to the demo.

See it work before you bring your data

Open the demo to walk the whole flow, from opportunity to campaign to results.

Sign in