How yaserarfath320/forge works
BuildAI is an AI app-building SaaS. Users describe an app, generate code, preview and refine it, then manage or export projects; accounts, plans, and credits govern usage. The graph follows the sampled workspace-to-API flow and preserves README-documented capabilities such as Sandpack preview, ZIP export, image uploads, and subscriptions. Some implementation details—especially upload and export wiring—were not excerpted, so those links are omitted or marked unverified rather than inferred.
Main entry points: workspaceClient.tsx Workspace controller · route.ts Code generation API · page.tsx Projects dashboard · CodePanel.tsx Preview and export
Components 20
Product experience
- Prompt landing
app/page.tsx - Projects dashboard
app/(main)/projects/page.tsx - Project card
components/ProjectCard.tsx
Workspace workflow
- Workspace route
app/(main)/workspace/page.tsx - Workspace controller
components/workspaceClient.tsx - Chat and uploads
components/ChatPanel.tsx - Preview and export
components/CodePanel.tsx
AI and persistence
- Code generation API
app/api/gen-ai-code/route.ts - AI improvement API
app/api/improve/route.ts - PostgreSQL data
lib/prisma.ts - Project operations
actions/projects.tsx
Accounts and plans
- Sign-in and sign-up
app/(auth)/sign-in/[[...sign-in]]/page.tsx - Account and plan header
components/ui/Header.tsx - Subscription modal
components/PricingModal.tsx
Other components
- Builder
- Gemini model
- Cline agent
- Arcjet protection
- Clerk identity and billing
- Supabase Storage
Connections 23
- Builder → Prompt landing: describes app
app/page.tsx - Prompt landing → Sign-in and sign-up: requires sign-in
app/page.tsx - Builder → Workspace route: opens workspace
app/(main)/workspace/page.tsx - Workspace route → Workspace controller: renders
app/(main)/workspace/page.tsx - Workspace controller → Chat and uploads: renders
components/workspaceClient.tsx - Workspace controller → Preview and export: renders
components/workspaceClient.tsx - Workspace controller → Code generation API: requests generation
components/workspaceClient.tsx - Code generation API → Gemini model: streams completion
app/api/gen-ai-code/route.ts - Code generation API → Arcjet protection: checks request
app/api/gen-ai-code/route.ts - Code generation API → PostgreSQL data: saves workspace and credits
app/api/gen-ai-code/route.ts - Workspace controller → AI improvement API: requests improvements
components/workspaceClient.tsx - AI improvement API → Cline agent: runs agent
app/api/improve/route.ts - AI improvement API → PostgreSQL data: saves files and deducts credits
app/api/improve/route.ts - Preview and export → Builder: previews app
README.md - Preview and export → Builder: exports ZIP
README.md - Chat and uploads → Supabase Storage: uploads images
- Builder → Projects dashboard: manages projects
app/(main)/projects/page.tsx - Projects dashboard → Project operations: loads and deletes
app/(main)/projects/page.tsx - Project operations → PostgreSQL data: reads and deletes
actions/projects.tsx - Projects dashboard → Project card: renders cards
app/(main)/projects/page.tsx - Builder → Account and plan header: opens account controls
components/ui/Header.tsx - Account and plan header → Subscription modal: opens plans
components/ui/Header.tsx - Subscription modal → Clerk identity and billing: shows billing options
components/PricingModal.tsx