Generate and iterate on startup MVPs with AI-assisted idea validation, vanilla web app generation, live previews, and marketing content. goFoundr stores each generated project locally, streams code generation over WebSockets, and can deploy output to Vercel.
- Validate startup ideas with uniqueness, feasibility, and market metrics.
- Generate a full vanilla HTML/CSS/JS MVP from a prompt.
- Stream generation events and chat updates in real time.
- Preview generated apps from the local server and inspect files.
- Track live analytics + feedback for each generated startup.
- Create marketing copy + imagery and post to LinkedIn.
- Next.js 16 (App Router) + React 19
- TypeScript
- Tailwind CSS 4
- Claude Agent SDK (code generation)
- OpenAI GPT-4o + DALL-E 3 (validation + marketing)
- WebSocket (ws)
- Vercel CLI for deployments
npm install
npm run devOpen http://localhost:3000.
Note: the development server is started via tsx watch server.ts, which boots Next.js and the WebSocket server together.
Create .env (or .env.local) in the repo root with:
# Required
ANTHROPIC_API_KEY=...
OPENAI_API_KEY=...
# Optional - LinkedIn posting with Ayrshare + ImgBB
AYRSHARE_API_KEY=...
IMGBB_API_KEY=...
# Optional - server + project paths
PORT=3000
HOST=0.0.0.0
PUBLIC_BASE_URL=http://localhost:3000
STARTUPS_DIR=/absolute/path/to/startups
PROJECTS_DIR=/absolute/path/to/startups
# Optional - Supabase management (for provisioned DBs in generated apps)
SUPABASE_API_URL=https://api.supabase.com
SUPABASE_ORG_ID=...
SUPABASE_ACCESS_TOKEN=...
SUPABASE_DEFAULT_REGION=us-east-1
SUPABASE_DEFAULT_PLAN=free
# Optional - Neon/Postgres for generated apps
DATABASE_URL=postgresql://...
POSTGRES_URL=postgresql://...
POSTGRES_URL_NON_POOLING=postgresql://...Notes:
ANTHROPIC_API_KEYis required at runtime (the server does not callconfig.validate()today, but the agent uses Claude).PUBLIC_BASE_URLis used to build analytics + dashboard URLs for generated startups.STARTUPS_DIR(or legacyPROJECTS_DIR) controls where generated projects live.
- Create a startup via
POST /api/startups(or through the UI). - The server boots a
CodeGeneratorAgentper startup and streams responses over WebSocket. - The agent writes files directly inside
startups/<startupId>. - The UI renders live preview from
/api/startups/[id]/preview/.... - Messages and generation status are saved to
startup.json.
Generated apps are always vanilla HTML/CSS/JS and must include:
- Page-load analytics tracking
- A feedback widget posting to the feedback endpoint
- An analytics dashboard page inside the generated app
These requirements are enforced by the agent prompt in lib/agent.ts.
- Landing → Idea validation → Validation results
- MVP Builder (preview + chat + startup list)
- Marketing generation (text + image + LinkedIn post)
POST /api/validate-idea
POST /api/estimate-metrics
GET /api/startups
POST /api/startups
GET /api/startups/[id]
DELETE /api/startups/[id]
POST /api/startups/[id]/messages
POST /api/startups/[id]/complete
GET /api/startups/[id]/files/[...path]
GET /api/startups/[id]/preview/[[...path]]
GET /api/startups/[id]/analytics
POST /api/startups/[id]/analytics/visit
POST /api/startups/[id]/analytics/feedback
POST /api/marketing/text
POST /api/marketing/image
POST /api/linkedin/post
Deployments are handled via the Vercel CLI inside each generated startup directory.
- The agent tool
deploy_to_vercelrunsvercel link --yesandvercel --prod --yes. lib/deployment-monitor.tscan complete deployments once a startup becomes linked.- Deployment URLs are stored in
startup.jsonand mirrored into analytics metadata.
Important: this repository does not implement the email-based authorization flow described in SETUP.md and README_DEPLOYMENT.md. There is no nodemailer integration or email capture in the UI/API. If you want email-driven authorization, those docs need to be updated or the feature implemented.
app/
api/...
dashboard/[startupId]/page.tsx
layout.tsx
page.tsx
components/
gofoundr/...
ChatPanel.tsx
Preview.tsx
hooks/
useWebSocket.ts
lib/
agent.ts
agent-tools.ts
analytics.ts
config.ts
deployment-monitor.ts
openai.ts
startup-metadata.ts
vercel-deployment.ts
server.ts
startups/
npm run dev # start Next.js + WebSocket server
npm run build # Next.js production build
npm start # start server in production mode
npm run lint # ESLintSETUP.md+README_DEPLOYMENT.mddescribe an email-based Vercel auth flow that is not present in code.docs/DEPLOYMENT_INTEGRATION.mdreferences modules (email notifications, project metadata, NewProjectModal) that do not exist.
No license file is present in this repository.