The Problem
Most workflow automation tools lock users into proprietary JSON node graphs that are hard to version, debug, or move off-platform. Developers end up fighting opaque abstractions and vendor-specific formats instead of owning their automation logic.
What This Does
BubbleLab is a TypeScript-native workflow automation builder that compiles visual flows into clean, exportable TypeScript. The core is apps/bubble-studio, a React SPA with a flow visualizer (src/components/flowvisualizer/) that renders workflows as composable "bubbles" — integrations, transformations, and triggers. The AI assistant "Pearl" generates and edits workflows from natural language prompts, with components in src/components/ai/.
The platform emphasizes observability: src/components/executionlogs/ contains detailed execution tracing, token/cost tracking, and a CodeRestoreModal to roll back to prior code states. Flows export as standalone TypeScript via ExportModal.tsx. There's also a CLI (npx create-bubblelab-app) and support for importing workflows from n8n.
How To Use It
The README documents a two-command local setup:
pnpm install pnpm run dev
Open http://localhost:3000. For AI workflow generation, you need GOOGLEAPIKEY and OPENROUTERAPIKEY in apps/bubble-studio/.env.example. The default models are gemini-3.0-pro for generation and morph-v3 for edits — weaker models degrade performance.
The repo has a Dockerfile (Dockerfile.api) for containerized deployment, and CI via GitHub Actions (.github/workflows/ci.yml). There are 19 template flows in src/components/templates/template_codes/ covering use cases like githubPRCommenter.ts and gmailReplyAssistant.ts.
Real-World Use
A developer building a lead-generation pipeline could use the linkedinLeadGen.ts template, customize it through the visual editor or Pearl, then export the resulting TypeScript and deploy it in their existing CI/CD pipeline. The exported code runs anywhere standard TypeScript runs, avoiding lock-in to a proprietary runtime.
Code Health & Issues
Med - No lockfile: apps/bubble-studio/package.json has dependencies but no pnpm-lock.yaml or package-lock.json — non-reproducible builds. Low - Test coverage: Only 4 test files exist (e.g., ExecutionHistory.test.tsx, flowvisualizer.integration.test.ts). Core AI generation and export paths are untested. Low - Single-app monorepo: Everything lives in apps/bubble-studio despite the apps/ structure suggesting multi-app support; the CLI and API seem to be external or not in this repo. Med - AI model dependency: The README warns that weaker models degrade performance significantly — the system is tightly coupled to specific model quality. Low - Public integration assets: Dozens of third-party logos in public/integrations/ (Slack, Stripe, etc.) — check trademark usage if you redistribute.
The Bottom Line
BubbleLab is a well-architected workflow builder that genuinely delivers on code exportability and observability — a real differentiator. It's best suited for developers who want visual flow design without surrendering code ownership. The missing lockfile and thin test coverage are concerns for production adoption, but the core architecture is sound. Worth evaluating for teams that need to migrate n8n workflows or build custom automations with full code control.