App Growth Agent
App Growth Agent is a killed web-app experiment that asked whether the repetitive, awkward work of finding early Shopify-app users could become a measurable agent loop. The prototype connected lead discovery, qualification, outreach drafting, policy critique, human approval, sending, install attribution, value-event telemetry, and review prompting in one Next.js dashboard backed by a worker and explicit run traces.
Table of contents
Narrative
Could the uncomfortable parts of growth become a system?
App Growth Agent was a compact attempt to turn early Shopify-app growth into an observable loop: find merchants describing a real problem, qualify the signal, draft a useful message, force the draft through policy and human review, attribute an install, detect actual product value, and ask for a review only after that value existed. The experiment treated growth less like a stream of clever copy and more like a product system with state, evidence, and explicit reasons to stop.
The agent had to earn permission to act
The prototype did not equate autonomy with unrestricted sending. App and campaign context packs constrained claims and tone; Reddit messages required approval by default; cadence rules and policy lint could block a send; and a global outbound kill switch overrode the pipeline. Agent runs, steps, LLM calls, costs, errors, and fallbacks were modeled as inspectable records. The useful design idea was a control plane where the operator could see why an agent planned, qualified, rewrote, queued, or refused an action.
A complete prototype, then a hard stop
The source was built from February 2 through February 6, 2026. It reached a locally runnable dashboard, seeded acquisition and activation data, connectors, authentication, orchestration traces, and split web/worker deployment plans. It did not reach the source docs' next milestone of validating the real end-to-end loop in production. The former public endpoint now returns 404, and Maggie classifies the project as killed. Hyphenomenon keeps it because experiments that stop still contain product judgment: the ambition, the safety architecture, and the distance between an integrated prototype and a proven growth engine.
System surfaces
Growth dashboard
A sparse control surface for lead, install, and review-prompt counts, with direct navigation into every stage of the experiment.
Lead and campaign workspace
Campaign state, source rules, outreach caps, scored leads, merchant pain statements, and channel provenance make early acquisition inspectable.
Approval and context control plane
Authenticated approval queues and app/campaign context packs preserve human review, forbidden claims, tone, audience, and campaign-specific constraints.
Activation and review loop
Shopify events resolve installs and activation metrics so a review prompt can be gated on an observed value event rather than elapsed time alone.
Agent run traces
Run and step records expose plan, discovery, qualification, drafting, critique, dispatch, errors, fallbacks, token use, latency, and cost.
Implementation stack
Web application
- • Next.js 15 App Router
- • React 19
- • TypeScript
- • Tailwind CSS
- • shadcn-derived UI
- • NextAuth credentials
Agent runtime
- • OpenAI client
- • Zod structured outputs
- • plan-qualify-draft-critique-dispatch orchestration
- • context packs
- • fallback outputs
- • LLM budget controls
Data and jobs
- • Prisma
- • Postgres
- • BullMQ
- • Redis
- • AgentRun and AgentStep traces
- • activation metrics
- • review-prompt state
Connectors and deployment intent
- • Reddit via snoowrap
- • Postmark or Resend
- • optional Google Sheets export
- • Vercel web and cron
- • Render worker
Safety
- • manual Reddit approval
- • policy lint
- • cadence caps
- • forbidden claims
- • value-gated review prompts
- • STOP_OUTBOUND_SEND kill switch
Evidence trail
Acquisition-to-value experiment lifecycle
The experiment joined discovery, qualification, reviewed outreach, attribution, product telemetry, activation, and review prompting into one stateful loop so growth actions could be inspected against real downstream value.
Agent trace and action boundary
A campaign tick records every model-assisted step and preserves an explicit decision boundary between generated work and external action.
App Growth Agent Intake Dossier
App Growth Agent is a killed web-app experiment that asked whether the repetitive, awkward work of finding early Shopify-app users could become a measurable agent loop. The prototype connected lead discovery, qualification, outreach drafting, policy critique, human approval, sending, install attribution, value-event telemetry, and review prompting in one Next.js dashboard backed by a worker and explicit run traces.
README
Source Summary Shopify App Growth Agent Micro‑SaaS Autonomous early‑user acquisition + compliant review prompting pipeline for Shopify apps. Documentation (s...
ARCHITECTURE
Source Summary title: Architecture description: "TODO: Add description" status: draft lastUpdated: 2026-02-17 owner: Documentation --- Architecture High-leve...
STATUS
Source Summary title: Project status description: "TODO: Add description" status: draft lastUpdated: 2026-02-17 owner: Documentation --- Project status This...
2026-02-04
Source Summary title: Handoff — 2026-02-04 description: "TODO: Add description" status: draft lastUpdated: 2026-02-17 owner: Documentation --- Handoff — 2026...
orchestrator
Source Summary import { prisma } from '@/lib/prisma'; import { discoverLeads, createOutreachDraft } from '@/lib/agent/jobs'; import { agentQueue } from '@/qu...
render
Source Summary services: - type: worker name: app-growth-agent-worker runtime: node plan: starter branch: main autoDeploy: true buildCommand: npm ci --includ...
01-dashboard
Source Summary Growth Agent Dashboard Campaigns Leads Approvals Installs Context Runs Growth Agent Dashboard Minimal v1 metrics. Imported Context Growth Agen...
Visual evidence
Key dates
Initial Next.js, Prisma, BullMQ, dashboard, webhook, and agent-loop scaffold landed.
Reddit and email connectors, admin auth, deployment planning, and campaign operations were implemented.
Context packs, plan/qualify/draft/critique/dispatch orchestration, run traces, improved UI, and the outbound kill switch were recorded in the final substantive handoff.
The docs deployment commit ended a four-day implementation window while the status doc still described real end-to-end production exercise as next work.
The app rendered locally against demo data, the former Render endpoint returned 404, and the operator explicitly classified the web-app experiment as killed.