Design and run LLM-powered workflows on a visual canvas. Connect text, image, video, and AI nodes, and Weaave executes them in the background, running independent branches in parallel.
- Visual workflow canvas: drag and drop, panning, zooming, and minimap (React Flow)
- 6 node types: Text, Image Upload, Video Upload, LLM, Crop Image, Extract Frame
- AI execution: Google Gemini with vision support
- Background processing: every node runs as a Trigger.dev task, with no client-side API calls
- Parallel execution: independent branches run concurrently
- Media processing: cloud FFmpeg on Trigger.dev for cropping and frame extraction
- Smart timestamps: extract frames by seconds or percentage (e.g. "50%")
- Robust execution: strict failure propagation and error handling
- Workflow history: full run history with node-level details
- Real-time status: running nodes glow while they execute
- File uploads: secure, scalable uploads via Transloadit
- Auth & persistence: Clerk authentication, PostgreSQL with Prisma
| Category | Technology |
|---|---|
| Framework | Next.js 16 (App Router) |
| Language | TypeScript |
| UI | React 19, React Flow, Tailwind CSS |
| State | Zustand |
| Database | PostgreSQL + Prisma |
| Auth | Clerk |
| AI | Google Gemini API |
| Background Jobs | Trigger.dev |
| Validation | Zod |
| Document | Description |
|---|---|
| High-Level Design | System architecture, components, and data flow |
| Low-Level Design | Database schema, API endpoints, and execution flow |
- Node.js 18+
- PostgreSQL database (Neon or Supabase)
- Clerk account
- Google AI Studio API key
- Trigger.dev account
git clone https://github.com/minianon/weaave.git
cd weaave
npm install
cp .env.example .env
# Fill in your API keys (see .env.example)
npx prisma db push
npm run dev
# In a separate terminal
npm run trigger:devOpen http://localhost:3000.
See .env.example for setup details.
| Variable | Description | Get it from |
|---|---|---|
DATABASE_URL |
PostgreSQL connection string | Neon |
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY |
Clerk publishable key | Clerk |
CLERK_SECRET_KEY |
Clerk secret key | Clerk |
GEMINI_API_KEY |
Google Gemini API key | Google AI Studio |
TRIGGER_SECRET_KEY |
Trigger.dev secret key | Trigger.dev |
NEXT_PUBLIC_TRANSLOADIT_AUTH_KEY |
Transloadit auth key | Transloadit |
NEXT_PUBLIC_TRANSLOADIT_TEMPLATE_ID |
Transloadit template ID | Transloadit |
src/
├── app/ # Next.js App Router pages
├── components/
│ └── workflow/ # Workflow canvas & nodes
├── lib/ # Utilities & types
├── store/ # Zustand state
├── trigger/ # Trigger.dev background tasks
└── prisma/ # Database schema
MIT. See LICENSE.
Built by Tushar Bhardwaj
