Overview
AutoFlow Pro is a browser-automation platform with a visual builder. You drag steps onto a canvas, connect them, run the workflow in a real browser and watch it execute. There is no hosted copy now (the free-tier backend was suspended), so the code is the way to see it.
Key Features
Visual Workflow Builder
- 23 step types: navigation, clicks, form filling, data extraction, JavaScript execution, screenshots, waits, loops, conditionals and more
- React Flow canvas: drag-and-drop with validation of the connections
- Saved workflows: create, edit and reuse automations per user
Queued Job Processing
- BullMQ and Redis: each run is a queued job with automatic retries (three attempts with backoff)
- Live monitoring: execution logs and status stream to the browser over WebSocket
- Cron scheduling: run a workflow on a schedule, with failure monitoring
- Limited concurrency: the worker processes two jobs at a time
Multi-Tenant Data
- Row-level security: each user's workflows and runs are isolated in PostgreSQL through Supabase policies
- Rate limiting: 100 requests per 15 minutes per user
- Input sanitization on the API layer
What I Built and Tested
The backend has 29 test scripts under backend/tests, run with tsx, covering the automation steps, the queue, the scheduler, the WebSocket flow, authentication, analytics, archival and an end-to-end run. They are scripts rather than a framework suite, and the frontend has no tests.
Runs and their screenshots are archived to Cloudflare R2 after a retention period. An analytics page shows execution trends, success rates and errors, and a resource monitor tracks usage against the free-tier limits.
What I Learned
The hard part was failure handling. Browsers crash, pages hang and networks drop, and the job record still has to end in a state the user can understand. Treating each run as a queued job with retries, and keeping the status in the database instead of in memory, made that manageable.
WebSocket updates on top of BullMQ events worked well for monitoring, because users can watch exactly what a run is doing as it happens.
Tech Stack
Frontend: Next.js 16, React Flow, TypeScript, Tailwind CSS Backend: Fastify, Playwright, BullMQ, Socket.IO Database: Supabase (PostgreSQL) with row-level security Queue: Redis (Upstash) Storage: Cloudflare R2 Deployment: Vercel, Render