Overview
Production-ready browser automation platform that makes complex workflows accessible through a visual drag-and-drop interface. Built to handle real production workloads with enterprise security and performance.
Key Features
Visual Workflow Builder
- 23 automation step types: Navigation, clicks, form filling, data extraction, JavaScript execution, screenshots, waits, and more
- React Flow integration: Drag-and-drop interface with real-time validation
- Workflow versioning: Save, load, and manage multiple automation workflows
Distributed Job Processing
- BullMQ + Redis: Distributed job queue with automatic retries and failure recovery
- Real-time monitoring: WebSocket updates achieving sub-100ms latency
- Cron scheduling: Run automations on schedules (daily, weekly, custom)
- Concurrent execution: Multiple workflows running in parallel
Enterprise Security
- Row-Level Security (RLS): Multi-tenant architecture with PostgreSQL RLS
- Rate limiting: 100 requests per 15 minutes per user
- Input sanitization: Protection against injection attacks
- Secure credential storage: Environment-based secrets management
Technical Achievements
Performance
- Less than 3s page load times on free-tier infrastructure
- Less than 500ms API response times for workflow operations
- Sub-100ms WebSocket latency for real-time job monitoring
- Playwright browser pooling for efficient automation execution
Testing & Quality
- 30+ test files covering unit, integration, and E2E scenarios
- Comprehensive error handling with graceful degradation
- Detailed logging for debugging production issues
Free-Tier Deployment
- Vercel: Frontend hosting with edge functions
- Render: Backend API and job workers
- Supabase: PostgreSQL with RLS, real-time subscriptions
- Upstash Redis: Job queue and caching
- Cloudflare R2: Screenshot and artifact storage
What I Learned
This project taught me the complexity of distributed systems. Handling job failures, browser crashes, and network issues while maintaining data consistency requires careful architecture.
Also learned that WebSockets + BullMQ is a powerful combination for real-time monitoring - users can see exactly what's happening as workflows execute.
Tech Stack
Frontend: Next.js 14, React Flow, TypeScript, Tailwind CSS Backend: Fastify, Playwright, BullMQ Database: Supabase (PostgreSQL) with RLS Queue: Redis (Upstash) Storage: Cloudflare R2 Deployment: Vercel, Render