Dossier
    App Growth AgentUpdated Jul 13, 2026

    Project Intake - App Growth Agent

    Markdown file

    Imported markdown

    Project Intake - App Growth Agent

    Project Name: App Growth Agent

    Repository: https://github.com/maggielerman/app-growth-agent

    Former Live URL: https://app-growth-agent-web.onrender.com

    Source Repo Path: /Users/maggielerman/Github/app-growth-agent

    Source Baseline: local and origin/main at 1379dc3; source working tree has a separate, pre-existing documentation-governance update that this intake did not modify

    Queue Item: IQ-0010

    1) Executive Summary

    The interesting artifact is not a claim that growth was automated successfully. It is the shape of the attempt: a complete acquisition-to-value system was built in four days, instrumented with context packs and guardrails, and then stopped before its planned production loop was validated. The checked-in app still runs locally against its demo data; the former Render endpoint now returns 404, and the source status document remains at the v0.1 goal of proving the end-to-end loop locally. The operator explicitly classifies the experiment as killed.

    This fresh intake supersedes the revoked 1079 framing, which called the project paused and relied on generic repository screenshots. It preserves the project as evidence of a serious product experiment, including its limits, rather than presenting it as a current service.

    2) Project Type and Domain

    • Project Type: killed web-app experiment.
    • Status: killed.
    • Domain: AI operations, Shopify-app growth, compliant outreach, product telemetry, review prompting.
    • Trail: AI Ops.
    • Primary operator: an independent Shopify-app builder testing an internal growth control plane.
    • Intended users: app founders or operators managing early acquisition, activation, and review timing.

    3) Repository and Live URLs

    4) Product/User Journey Summary

    The intended loop was:

    1. Configure a Shopify app and campaign context: audience, value propositions, proof points, tone, forbidden claims, goals, and phrases to avoid.
    2. Discover merchants describing relevant pain, initially through Reddit search.
    3. Score and qualify leads against campaign intent and recency.
    4. Draft concise Reddit or email outreach.
    5. Critique the draft for policy risk, spamminess, unsupported claims, and campaign constraints.
    6. Require human approval for Reddit messages by default and block all outbound work when the kill switch is enabled.
    7. Record delivery, attribution, installs, Shopify app events, and activation metrics.
    8. Create a review prompt only after a merchant reaches a configured value event.
    9. Inspect agent runs and step-level traces to see what the system planned, attempted, blocked, or failed.

    The dashboard exposes these stages as Campaigns, Leads, Approvals, Installs, Context, and Runs rather than hiding the system behind a single autonomous-agent button.

    5) Architecture and Stack Summary

    • Web app: Next.js 15 App Router, React 19, TypeScript, Tailwind CSS, and shadcn-derived components.
    • Queue: BullMQ and Redis with campaign, install-recompute, and message-send jobs.
    • Agent orchestration: plan -> discover -> qualify -> draft -> critique -> dispatch, with default fallbacks and persisted run/step traces.
    • AI context: app and campaign context packs feed prompts; OpenAI model and budget controls are environment-configured.
    • Connectors: Reddit via snoowrap; email through Postmark or Resend; optional Google Sheets export.
    • Authentication: NextAuth credentials gate approvals, context editing, and run inspection.
    • Deployment intent: Vercel for the web/cron surface and a Render worker with managed Postgres and Redis.
    • Safety controls: manual approval, cadence caps, policy lint, forbidden claims, review-value gating, and STOP_OUTBOUND_SEND.

    6) Key Workflows and Operational Flows

    • Campaign tick: cron or operator calls /api/agent/run, active campaigns are queued, and the worker runs the multi-step acquisition pipeline.
    • Outreach review: a draft is linted and stored; Reddit messages require approval; rejected, unapproved, over-cap, or kill-switched sends are recorded as blocked actions.
    • Telemetry loop: /api/webhooks/shopify-events records an app event, upserts an install, queues recomputation, and updates activation metrics.
    • Review prompting: the worker checks for an achieved value event and an absent prior prompt before creating a review-prompt record.
    • Context editing: authenticated forms maintain app and campaign context packs that constrain future agent output.
    • Trace review: authenticated run pages expose run state, step counts, outcomes, errors, token use, latency, and cost fields.
    • Historical operating boundary: these flows describe the killed experiment's implemented design, not a currently operating automation.

    7) AI Context: Prompts, Chats, Agent Workflows

    AI is a product mechanism, not only a development aid, in this experiment:

    • src/lib/agent/orchestrator.ts persists a plan/qualify/draft/critique/dispatch trace around each campaign tick.
    • src/lib/llm/prompts.ts makes app context, campaign context, lead evidence, channel, approval rules, and sending caps visible to the model.
    • Zod schemas constrain planner, qualification, drafting, and critique outputs.
    • LlmCall, AgentRun, and AgentStep preserve the model request/response trail, cost, latency, and failure state.
    • Fallback plans and outputs let the orchestration continue in a bounded way when an LLM step fails.
    • Human review and an outbound kill switch remain first-class control points.
    • AGENTS.md, checkpoint docs, and handoff notes show the repo was also developed with agent-oriented operating conventions.

    8) Supporting Docs and External Resources

    • README.md - concise statement of the autonomous acquisition and review-prompting ambition.
    • docs/ARCHITECTURE.md - source-backed component map and primary flow definitions.
    • docs/STATUS.md - last recorded milestone, next steps, and unvalidated production goals.
    • docs/handoffs/2026-02-04.md - strongest implementation checkpoint for orchestration, context packs, UI, and kill-switch work.
    • prisma/schema.prisma - complete acquisition, telemetry, review, and agent-trace data model.
    • src/lib/agent/orchestrator.ts - implemented multi-step agent pipeline.
    • src/lib/guardrails.ts and src/lib/agent/jobs.ts - policy, cadence, approval, and outbound-send boundaries.
    • render.yaml and vercel.json - split worker/web deployment intent.

    Hydration Source Artifacts

    Artifact (relative repo path)Canonical URLTypeWhy hydrate this into note body
    README.mdhttps://github.com/maggielerman/app-growth-agent/blob/main/README.mdmarkdownDefines the experiment's product ambition, stack, core flows, and guardrails.
    docs/ARCHITECTURE.mdhttps://github.com/maggielerman/app-growth-agent/blob/main/docs/ARCHITECTURE.mdmarkdownExplains the acquisition loop, telemetry loop, worker, connectors, and trust boundaries.
    docs/STATUS.mdhttps://github.com/maggielerman/app-growth-agent/blob/main/docs/STATUS.mdmarkdownRecords the last milestone as a local end-to-end proof and leaves production exercise as future work.
    docs/handoffs/2026-02-04.mdhttps://github.com/maggielerman/app-growth-agent/blob/main/docs/handoffs/2026-02-04.mdmarkdownCaptures the most complete implementation state, including orchestration, traces, context packs, and outbound kill switch.
    prisma/schema.prismahttps://github.com/maggielerman/app-growth-agent/blob/main/prisma/schema.prismatextProvides first-class evidence for the system's acquisition-to-review and agent-observability model.
    src/lib/agent/orchestrator.tshttps://github.com/maggielerman/app-growth-agent/blob/main/src/lib/agent/orchestrator.tstextImplements the plan, discovery, qualification, drafting, critique, and dispatch pipeline.
    render.yamlhttps://github.com/maggielerman/app-growth-agent/blob/main/render.yamltextShows the separate worker service and connector/runtime dependencies.
    ./screenshots/01-dashboard.pnghttps://github.com/maggielerman/hyphenomenon/blob/codex/app-growth-agent-intake/DOCS/intake/runs/projects/2026-07-13-app-growth-agent/screenshots/01-dashboard.pngimageFresh read-only capture of the locally runnable dashboard and seeded value metrics.

    No .pdf or .docx source artifact exists in the source repository. The image candidate is fresh intake evidence because the source repository contains no checked-in image asset.

    9) Screenshot Gallery (with relative links + captions)

    1. Growth Agent dashboard - Locally rendered dashboard with six leads, one install, and one review prompt from the seeded proof data.
    2. Campaigns - Active demo campaign records and the explicit instruction to trigger the agent tick through the API/cron boundary.
    3. Lead scoring - Lead table showing Reddit/email sources, status, score, and captured merchant pain statements.
    4. Install value event - Install telemetry surface showing a value event derived from the itemsEditedTotal >= 50 rule.
    5. Approval authentication gate - NextAuth sign-in boundary protecting the manual approval surface.
    6. Retired live endpoint - Fresh capture of the former Render URL returning Not Found, corroborating that this is not a live product.

    All local screenshots were captured with outbound sending disabled. They contain demo records, not evidence of real merchant acquisition.

    10) Candidate Import Nodes and Relationships

    • Project supernode:
      • ID: project-app-growth-agent
      • Slug: app-growth-agent
      • Title: App Growth Agent
      • Project type: experiment
      • Status: killed
      • Trail: ai_ops
      • Map trail group: agent-orchestration-experiments
    • Supporting notes:
      • Product ambition and guardrails from README.md
      • Acquisition and telemetry architecture
      • Final recorded v0.1 status and unresolved production loop
      • Multi-agent implementation handoff
      • Acquisition-to-review schema
      • Orchestration implementation
    • Historical workflow packet:
      • workflow-app-growth-agent-acquisition-to-value-loop
      • Retained as process evidence; it must not imply the automation is currently running.
    • Data models:
      • Acquisition-to-value lifecycle
      • Agent trace and approval boundary
    • Relationships:
      • App Growth Agent -> historical acquisition-to-value workflow
      • App Growth Agent -> hydrated source notes and screenshots
      • App Growth Agent -> shopify-bulk-editor-app as the concrete Shopify-app context represented by the demo seed, without claiming shared runtime infrastructure
      • The earlier revoked relation to shopify-ai-product-optimizer is not restored before that queued repo receives its own fresh review.

    11) Risks, Gaps, and Unknowns

    • The operator supplied the lifecycle classification killed; the source repository does not contain a written kill decision or explanation. Why the experiment stopped is Unknown.
    • The former Render web URL returns 404. No current public deployment was found.
    • Source history spans only 2026-02-02 through 2026-02-06, and the final status doc still describes production exercise as next work.
    • Demo data proves UI and data-flow shape, not real acquisition performance, policy compliance in the wild, or review conversion.
    • Authenticated Context and Runs pages were not captured beyond the sign-in boundary because this intake did not expose or copy admin credentials into browser tooling.
    • The source working tree contains a separate documentation-governance update. This intake did not modify, stage, or interpret it as product progress beyond reading current docs.
    • npm ci reports 37 dependency vulnerabilities (16 moderate, 19 high, 2 critical) against the historical dependency set. No remediation was attempted because the app is killed and source mutation is out of scope.
    • The workflow intake contract currently writes workflow entities as active. The historical workflow packet should remain unapplied until the runtime can preserve a killed/historical lifecycle or an operator explicitly accepts that limitation.
    • No .pdf, .docx, or checked-in source image exists.

    12) Handoff Checklist for Hyphenomenon Import

    • Confirm fresh source identity and Git baseline.
    • Record operator classification as a killed web-app experiment.
    • Verify former live endpoint state.
    • Run the app locally with outbound sending disabled.
    • Capture and inspect 4-8 representative screenshots.
    • Author public project-page packet from source evidence rather than dossier boilerplate.
    • Author historical workflow packet with explicit killed-state language.
    • Generate source-artifact hydration payload.
    • Validate dossier, screenshot links, hydration, and project-page packet.
    • Run project sync dry-run without applying to the shared preview or production database.
    • Run workflow packet dry-run without applying the historical workflow.
    • Record verification and remove IQ-0010 from the active queue only after the intake is logged as complete.

    Dataset Preview

    • Raw CSV row/table content is available in the source artifact.