FlowForge

Workflow Automation (n8n-style)

FlowForge is a full-stack, visual workflow-automation platform in the spirit of n8n/Zapier/Make: users drag-and-drop nodes onto a canvas, wire them together with conditional logic, and the backend executes the resulting graph — resolving dynamic expressions between nodes and streaming live status back to the canvas as each node runs.

  • Designed a custom DAG-based execution engine using Kahn's algorithm that validates and runs workflows of 50+ nodes, executing up to 10 independent branches concurrently and cutting end-to-end run time by 60% versus sequential execution.
  • Shipped a drag-and-drop canvas with 12+ node types (triggers, conditionals, AI agents, Telegram and Resend integrations), dynamic variable resolution and 3-attempt exponential-backoff retries that reduced failed runs by 40%.
  • Delivered live execution tracking over Server-Sent Events with under 200 ms update latency, backed by 50+ unit and integration tests.

What It Does

  • Drag-and-drop canvas (React Flow) for building workflows out of Trigger, Action and Logic nodes, each with its own configurable credentials and parameters.
  • Execution engine (@workspace/execution-core) traverses the workflow graph, resolves dynamic expressions between nodes (e.g. pulling a previous node's output), and executes each node's logic in sequence.
  • Live execution feedback over Server-Sent Events — nodes light up and show their output on the canvas as the run progresses, instead of waiting for the whole workflow to finish.
  • Project-based organization: workflows live inside projects, each with their own credentials scope.

Architecture

A Turborepo monorepo with a single Next.js app (apps/web) hosting the dashboard, canvas and API routes, backed by shared packages: execution-core (the engine that runs workflows and resolves expressions), node-base (base classes/types for standard nodes), validators (Zod schemas for API inputs and node configs), and a shared shadcn/ui component library.

Tech Stack

Frontend

Next.js (App Router)
React
Tailwind CSS
shadcn/ui
Framer Motion

Visual Builder

React Flow (@xyflow/react)

Backend

PostgreSQL
Prisma ORM

Execution Engine

Vercel AI SDK
p-limit (concurrency)

Infra

Docker
Redis

Package Manager

Bun

Languages

TypeScript99%
CSS1%

Getting Started

  1. 1Install dependencies
    bun install
  2. 2Start infrastructure (Postgres + Redis)
    bun run docker:start
  3. 3Push the database schema
    cd packages/database && bun run db:push
  4. 4Start the dev server
    bun run dev
GitHub
LinkedIn