UGC Reactions from Real Creators
Real creator library videos at $11 and images at $8. Custom production from $25/video with a $250 minimum. Commercial licensing included.
翻訳待ち
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.
翻訳待ち
マーケティングTypeScript · PLpgSQLGitHub @Mithurnオンライン所有者未確認
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Live: https://growos-ai.vercel.app — open the demo with no sign-up. When the AWS backend is switched on, upload your own CSV and the agent runs in ~60 seconds. See DEPLOYMENT.md for how the always-on demo and the on-demand backend fit together.
Traditional CRMs make the marketer do all the thinking: build a segment, write a message, pick a channel, schedule a send. GrowthOS inverts this.
A scheduled growth agent prepares the work while the marketer keeps execution control:
The marketer's job shifts from building to steering.
Three independently deployable services:
┌─────────────────────────────────────────────────────────────┐
│ Frontend — Next.js App Router (Vercel) │
│ Onboarding · Dashboard · Opportunities · Campaigns · Analytics │
└────────────────────────┬────────────────────────────────────┘
│ REST + Auth JWT
┌────────────────────────▼────────────────────────────────────┐
│ Backend API — Express.js (Render) │
│ Ingestion · RFM Engine · AI Orchestrator · Campaign API │
│ requireAuth + resolveCompanyMiddleware on every route │
└──────────┬──────────────────────────────┬───────────────────┘
│ │ PostgreSQL + RLS
┌──────────▼──────────┐ ┌─────────────▼───────────────────┐
│ BullMQ Worker │────▶│ Channel Service │
│ Recipient outbox │ │ Twilio / Resend / Simulator │
└──────────┬──────────┘ └─────────────┬───────────────────┘
│ Redis │ HMAC callbacks
└───────────────────────────────┘
graph TD
subgraph CLIENT["Frontend — Next.js (Vercel)"]
ONB[Onboarding Wizard]
OPP[Opportunities Page]
CAM[Campaigns Page]
ANA[Analytics Page]
end
subgraph BACKEND["Backend API — Express.js (Render)"]
ING[Data Ingestion + RFM Engine]
PER[AI Persona Engine]
OPP_SVC[AI Opportunity Engine]
CAM_SVC[AI Campaign Generator]
LAUNCH[Campaign Launcher]
WH[Webhook Receiver]
end
subgraph CHANNEL["Channel Service — Node.js (Render)"]
QUEUE[Message Queue]
PROV[Twilio / Resend / Simulator]
CB[HMAC Webhook Emitter]
end
subgraph DB["Supabase — PostgreSQL (RLS on all tables)"]
T1[(customers · orders · products)]
T2[(personas · opportunities)]
T3[(campaigns · communications · events)]
end
CSV[CSV Upload] -->|multipart| ONB
ONB -->|POST /api/process-ingestion| ING
ING --> T1
T1 --> PER
PER -->|LLM| T2
T2 --> OPP_SVC
OPP_SVC -->|LLM| T2
T2 --> OPP
OPP --> CAM
CAM -->|LLM| CAM_SVC
CAM_SVC --> T3
CAM -->|launch| LAUNCH
LAUNCH --> T3
LAUNCH -->|transactional recipient outbox| QUEUE
QUEUE --> PROV
PROV --> CB
CB -->|POST /webhooks/channel-status| WH
WH --> T3
T3 --> ANA
requireAuth middleware on every Express route — rejects requests without a valid JWTresolveCompanyMiddleware resolves companyId exclusively from the authenticated user's DB profile — never trusted from the client requestPersisted AI generation uses a prompt → JSON parse → schema validate → DB write contract. Analytics uses deterministic aggregation and a safe fallback when an optional narrative call fails.
| Step | Schema enforced | Fallback |
|---|---|---|
| Persona Engine | { persona_name, description, reasoning } | Skip assignment, log |
| Opportunity Engine | Full typed opportunity object with numeric revenue fields | Discard, continue |
| Campaign Generator | { name, message_content, channel, objective, offer } | Return error to frontend |
This is the beginning of the README. Read the rest at the original. Read the full README ↗