Overview
FactoryGen is a tool for building and running AI-powered workflows. Users construct workflows visually on a node-based canvas, and the Convex backend handles real-time sync, persistent storage, and serverless execution of workflow logic.
Architecture
The project is split across three layers:
- Web frontend (src-next) — Next.js app with the visual workflow canvas and React components
- Desktop app (src-tauri) — Tauri wrapper that embeds the web frontend and exposes native system capabilities via Rust
- Convex backend — unified backend handling the database, real-time updates, and serverless functions for workflow and AI tasks
What I learned
The hardest part was keeping the visual canvas in sync with backend state in real time without the UI feeling sluggish. Convex's reactive queries helped, but knowing when to optimistically update the canvas versus waiting for confirmation required a lot of trial and error.
The Tauri + Next.js combination also pushed me to think carefully about which logic belongs at the native layer versus the web layer — especially for anything involving the filesystem or running local processes.
Stack
- Frontend: React, TypeScript, Next.js
- Desktop: Tauri, Rust
- Backend: Convex
- Styling: PostCSS
- Package manager: pnpm