Motor de Workflows
Constructor Visual de Automatización No-Code
Sistema visual de workflows de 51K+ líneas con motor de ejecución dual — un canvas SVG en React para testing local y un backend en Cloudflare Workers para producción. 28 tipos de nodo que abarcan IA, llamadas de voz, WhatsApp, FHIR/HL7, SQL, ML, sub-workflows y más. Visualización de ejecución en tiempo real vía Durable Objects + WebSocket, scheduling CRON con soporte de timezone y 20 UIs de editor de nodo dedicadas.
Año
2023 — Presente
Rol
Full-Stack Developer
Tecnologías
6 tecnologías
El Desafío
Usuarios no técnicos necesitan construir automatizaciones complejas multi-paso — pero las herramientas de workflow tradicionales se quedan en cadenas if/then simples.
- Los workflows reales necesitan agentes IA, llamadas telefónicas, WhatsApp, datos médicos (FHIR), bases SQL, predicciones ML y sub-workflows — todo en un mismo canvas
- Los workflows deben ejecutar tanto en navegador para testing como server-side en producción con triggers programados, webhooks y lógica de reintentos
- Depurar automatizaciones opacas requiere visibilidad en tiempo real de qué nodo está ejecutando, qué datos fluyen entre pasos y dónde ocurren los errores
El Enfoque
Motor de ejecución dual con canvas visual compartido:
- Motor frontend (6.875 líneas) — ejecución basada en iteraciones vía setInterval con velocidad configurable (0.1x–4x), recorrido topológico DAG, modo debug paso a paso y límite de seguridad de 1.000 iteraciones
- Motor backend (4.601 líneas) — recorrido recursivo en Cloudflare Workers con persistencia D1, retry con backoff exponencial (3 intentos + jitter), detección de ejecuciones estancadas por heartbeat y tracking de coste/tokens por paso
- Canvas SVG (2.935 líneas) — React + SVG con foreignObject para HTML-en-SVG, aristas con curvas Bézier, zoom focal (0.25x–3x), pinch-to-zoom táctil, drag a 60fps throttled y React.memo con equality checks custom
- 20 UIs de editor de nodo — modales de configuración dedicados por tipo de nodo, cada uno con su propia validación e interpolación de variables
La Solución
28 tipos de nodo ejecutables en 7 categorías:
- IA — AI Agent (LLM multi-modelo), AI Image Generator, TTS Generator, AI Voice Agent (ElevenLabs + Twilio)
- Comunicación — WhatsApp Agent, WhatsApp Media Sender, Email (Resend)
- Datos — Data Query (tablas internas), SQL Query (MySQL/PostgreSQL/SQL Server/D1), Variable Mapper, Google Drive
- Control — Condition (evaluación de expresiones JS), Loop (iteración de arrays con auto-reset de nodos downstream), Trigger (8 tipos de evento), Scheduled Start (CRON + timezone)
- Integración — Integration (HTTP/API), Web Scraper, Local Scraper, Browser Automation, ejecución de Sub-Workflows
- Médico — FHIR Resource (Patient, Observation, Appointment), Conversation Log
- ML — ML Predict, ML Classify, ML Anomaly Detection
Ejecución en tiempo real vía Durable Object WebSocket — estado de nodos en vivo (ejecutando/completado/fallido), actualizaciones de variables y streaming de logs broadcast a todos los clientes conectados.
Resultados Clave
- 51K+ líneas en 75+ archivos — motor de ejecución dual (11.4K líneas), canvas SVG, 20 editores de nodo
- 28 tipos de nodo ejecutables: IA, voz, WhatsApp, FHIR, SQL, ML, sub-workflows
- Motor dual: en navegador (iteración, modo debug) + Cloudflare Workers (recursivo, producción)
- Visualización en tiempo real vía Durable Object WebSocket — estado de nodos y streaming de logs
- Scheduling CRON con timezone, cola de prioridad, locking distribuido
- Retry con backoff exponencial + jitter, tracking de coste/tokens por paso
- 3 tipos de arista (on_true, on_false, always) para recorrido condicional del grafo
- 7 tablas D1 + 3 vistas para persistencia de ejecución y analytics