{"id":47862827,"url":"https://github.com/zackproser/claude-growth-engine","last_synced_at":"2026-04-03T23:51:56.159Z","repository":{"id":343385271,"uuid":"1176143460","full_name":"zackproser/claude-growth-engine","owner":"zackproser","description":"Claude Agent SDK demo: paste your OpenAPI spec, get a growth engine for founder outreach","archived":false,"fork":false,"pushed_at":"2026-03-23T14:24:34.000Z","size":2129,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-23T16:32:44.452Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zackproser.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"zackproser"}},"created_at":"2026-03-08T17:16:06.000Z","updated_at":"2026-03-22T22:35:27.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zackproser/claude-growth-engine","commit_stats":null,"previous_names":["zackproser/claude-growth-engine"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zackproser/claude-growth-engine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackproser%2Fclaude-growth-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackproser%2Fclaude-growth-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackproser%2Fclaude-growth-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackproser%2Fclaude-growth-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zackproser","download_url":"https://codeload.github.com/zackproser/claude-growth-engine/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zackproser%2Fclaude-growth-engine/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31382355,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-03T23:20:52.058Z","status":"ssl_error","status_checked_at":"2026-04-03T23:20:51.675Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-04-03T23:51:55.445Z","updated_at":"2026-04-03T23:51:56.144Z","avatar_url":"https://github.com/zackproser.png","language":"TypeScript","readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"img/claude-logo.svg\" alt=\"Claude\" width=\"56\" /\u003e\n\n# Claude Growth Engine\n\n**Autonomous AI sales agent that researches prospects, generates personalized outreach, and places live calls — powered by Claude Agent SDK**\n\n\u003cimg src=\"img/powered-by-claude.svg\" alt=\"Powered by Claude Agent SDK\" height=\"32\" /\u003e\n\n\u003cbr /\u003e\n\n[![Next.js](https://img.shields.io/badge/Next.js-16-black?style=for-the-badge\u0026logo=next.js)](https://nextjs.org)\n[![TypeScript](https://img.shields.io/badge/TypeScript-5-3178C6?style=for-the-badge\u0026logo=typescript\u0026logoColor=white)](https://typescriptlang.org)\n[![Claude Agent SDK](https://img.shields.io/badge/Claude-Agent%20SDK-D97757?style=for-the-badge)](https://docs.anthropic.com/en/docs/agents-and-tools/claude-agent-sdk)\n[![Tests](https://img.shields.io/badge/Tests-65%20passing-2ea44f?style=for-the-badge\u0026logo=jest\u0026logoColor=white)](#testing)\n[![License: MIT](https://img.shields.io/badge/License-MIT-E8C547?style=for-the-badge)](LICENSE)\n\n\u003cbr /\u003e\n\n\u003cimg src=\"img/growth-engine-flow.svg\" alt=\"Growth Engine Flow\" width=\"720\" /\u003e\n\n\u003c/div\u003e\n\n---\n\n## What It Does\n\nGive it a prospect URL and an OpenAPI spec. It handles the rest.\n\n- 🔍 **Autonomous Research** — Agent browses the prospect's site, identifies pain points, maps their tech stack, and pulls their branding\n- ✉️ **Personalized Outreach** — Generates a cold email, branded demo page, value proposition, LinkedIn message, and voicemail script\n- 📞 **Live Voice Calls** — Places outbound calls using a cloned founder voice via ElevenLabs with voicemail detection\n- 📋 **Post-Call Intelligence** — Captures call transcripts and generates follow-up insights automatically\n- 📈 **Real-Time Lead Scoring** — Tracks engagement signals across every touchpoint and surfaces the hottest prospects\n\n---\n\n## Architecture\n\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"public/architecture-diagram.png\" alt=\"Architecture: Prospect URL → Claude Agent SDK → Outreach Suite → ElevenLabs Voice Call → Lead Intelligence\" width=\"800\" /\u003e\n\u003c/div\u003e\n\n---\n\n## Tech Stack\n\n| Layer | Technology |\n|-------|-----------|\n| **Framework** | Next.js 16 / React 19 / TypeScript |\n| **AI Agent** | Claude Agent SDK — multi-turn autonomous agent with tool use |\n| **Voice** | ElevenLabs Conversational AI — outbound calls with voice cloning |\n| **Tracking** | Google Sheets via MCP — real-time lead scoring and engagement |\n| **API Parsing** | swagger-parser — OpenAPI spec validation and endpoint extraction |\n| **Email** | Resend — transactional outreach delivery |\n| **Styling** | Tailwind CSS — Anthropic-inspired warm design system |\n\n---\n\n## Features\n\n### Autonomous Research Agent\n\nThe Claude Agent SDK orchestrates a multi-step research pipeline. Given a prospect URL, it browses their website, identifies business pain points, maps their technology stack, and extracts branding assets — all autonomously via `WebSearch` and `WebFetch` tools.\n\n### Personalized Outreach Generation\n\nEach prospect receives a tailored outreach suite: a sub-4-line cold email mapped to their specific pain points, a branded demo page featuring their logo, a value proposition linking your API endpoints to their problems, a LinkedIn message referencing real details about their company, and a voicemail script for the voice call.\n\n### Voice Calling with Cloned Voice\n\nOutbound calls are placed through ElevenLabs Conversational AI using a cloned founder voice. The system handles voicemail detection automatically — if the prospect doesn't answer, it leaves a personalized voicemail. Dynamic variables inject prospect-specific details into the call script at runtime.\n\n### Post-Call Transcript Analysis\n\nAfter every call, the system captures the full transcript and generates structured intelligence: key objections raised, interest signals detected, and recommended next steps.\n\n### Real-Time Lead Scoring\n\nEngagement signals are weighted and aggregated across every touchpoint:\n\n| Signal | Weight | Meaning |\n|--------|--------|---------|\n| Demo page opened | Low | Curiosity |\n| Time on page \u003e 2 min | Medium | Interest |\n| API playground interaction | High | Intent |\n| Voice call delivered | High | Reached |\n| Voicemail listened | Very High | Engaged |\n| Multiple visits | Very High | Evaluating |\n\nLeads are ranked automatically. Your Google Sheet sorts by engagement score — hottest prospects surface to the top.\n\n### Admin Dashboard\n\nA tracking dashboard shows all prospects, their current scores, outreach status, and call outcomes. Navigate between the upload flow, analysis progress, results view, and engagement tracking from a unified interface.\n\n---\n\n## Getting Started\n\n### Prerequisites\n\n- Node.js 18+\n- [pnpm](https://pnpm.io/) package manager\n- [Claude CLI](https://docs.anthropic.com/en/docs/agents-and-tools/claude-code/overview) installed and authenticated\n\n### Installation\n\n```bash\ngit clone https://github.com/zackproser/claude-growth-engine.git\ncd claude-growth-engine\npnpm install\n```\n\n### Environment Variables\n\nCreate a `.env.local` file in the project root:\n\n```bash\n# Required\nANTHROPIC_API_KEY=           # Claude API key for agent orchestration\nELEVENLABS_API_KEY=          # ElevenLabs API key for voice calls\nELEVENLABS_VOICE_ID=         # ID of your cloned voice in ElevenLabs\nELEVENLABS_PHONE_NUMBER_ID=  # Twilio number imported into ElevenLabs\n\n# Optional\nDEMO_PHONE_NUMBER=           # Target phone number for demo calls\nGOOGLE_SHEET_ID=             # Google Sheets ID for lead tracking\nGOOGLE_ACCESS_TOKEN=         # Google Sheets authentication token\n```\n\n### Run\n\n```bash\npnpm dev\n```\n\nOpen [localhost:3000](http://localhost:3000). Upload an OpenAPI spec (there's a sample in `examples/`), enter a target company URL, and let the agent run.\n\n---\n\n## Testing\n\n```bash\npnpm test\n```\n\nRuns the Jest test suite covering lead scoring logic, OpenAPI spec parsing, SDK compatibility, and voice call integration.\n\n---\n\n## Project Structure\n\n```\nclaude-growth-engine/\n├── src/\n│   ├── app/\n│   │   ├── page.tsx                  # Landing / upload page\n│   │   ├── upload/page.tsx           # OpenAPI spec upload flow\n│   │   ├── target/page.tsx           # Analysis progress UI\n│   │   ├── results/page.tsx          # Outreach results view\n│   │   ├── tracking/page.tsx         # Lead scoring dashboard\n│   │   ├── demo/[id]/page.tsx        # Branded demo pages (per-prospect)\n│   │   └── api/\n│   │       ├── analyze/route.ts      # SSE endpoint — runs agent pipeline\n│   │       ├── validate/route.ts     # OpenAPI spec validation\n│   │       ├── voice/route.ts        # Voice call status polling\n│   │       ├── scores/route.ts       # Lead score retrieval\n│   │       └── track/route.ts        # Engagement event ingestion\n│   ├── lib/\n│   │   ├── agent.ts                  # Core agent orchestration (Claude Agent SDK)\n│   │   ├── voice.ts                  # ElevenLabs voice call placement\n│   │   ├── scoring.ts                # Lead scoring engine\n│   │   ├── spec-parser.ts            # OpenAPI spec parsing\n│   │   ├── sheets.ts                 # Google Sheets MCP integration\n│   │   └── types.ts                  # TypeScript type definitions\n│   ├── components/\n│   │   ├── Navigation.tsx            # App navigation\n│   │   └── HottestProspects.tsx      # Top prospects widget\n│   └── __tests__/\n│       ├── scoring.test.ts           # Lead scoring tests\n│       ├── spec-parser.test.ts       # Spec parsing tests\n│       ├── sdk-compat.test.ts        # SDK compatibility tests\n│       └── voice.test.ts             # Voice integration tests\n├── examples/                         # Sample OpenAPI specs\n├── artifacts/                        # Generated outreach artifacts\n├── img/                              # Logos and flow diagrams\n├── package.json\n├── tsconfig.json\n├── tailwind.config.js\n└── next.config.ts\n```\n\n---\n\n## License\n\nMIT — see [LICENSE](LICENSE) for details.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Built by [Zack Proser](https://zackproser.com)**\n\n\u003c/div\u003e\n","funding_links":["https://github.com/sponsors/zackproser"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzackproser%2Fclaude-growth-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzackproser%2Fclaude-growth-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzackproser%2Fclaude-growth-engine/lists"}