ILLA Builder

Open-source low-code platform for building internal tools with drag-and-drop UI, reactive data bindings, and real-time collaboration.

12.3Kstars
1.2Kforks
Apache License 2.0
TypeScript

ILLA Builder is an open-source low-code platform that lets developers build internal tools—dashboards, CRUD apps, admin panels, CRMs, and CMSs—without writing custom frontend code. A visual drag-and-drop canvas backed by a reactive execution tree evaluates widget bindings and query results in dependency order, so changing a table row automatically refreshes every downstream chart or form field without manual event wiring.

The platform ships with over sixty pre-built components powered by ILLA Design, a purpose-built React component library. Every component property accepts Handlebars-style expressions that reference action results, widget state, or global variables, bridging the gap between visual building and programmatic control. Data sources—PostgreSQL, MySQL, MongoDB, MSSQL, Supabase, GraphQL, REST APIs, Hugging Face models, Redis, and more—connect through a GUI without SQL knowledge required.

Real-time collaboration lets multiple developers edit the same app simultaneously via a custom binary WebSocket protocol, broadcasting cursor positions and component changes without relying on third-party services like Firebase or Yjs. Workflow automation is built in: actions can be triggered by webhooks or schedules, enabling event-driven internal tool behavior that goes beyond simple CRUD.

For teams that need full data control, ILLA Builder self-hosts on Docker, docker-compose, or Kubernetes. ILLA Cloud provides the same experience as a fully managed service with team management, SSO, and enterprise support tiers for organizations that prefer not to run their own infrastructure.

What You Get

  • Reactive Execution Tree - Every widget property and action result is a node in a dependency graph that re-evaluates automatically when upstream values change, so Handlebars expressions like {{table.selectedRow.id}} update across the entire canvas without manual event wiring.
  • 60+ Pre-built UI Components - Charts, data grids (powered by MUI X Data Grid Premium), calendars, forms, rich-text editors, QR code scanners, PDF viewers, video players, and map embeds available as drag-and-drop building blocks.
  • Built-in Data Connectors - GUI-driven connections to PostgreSQL, MySQL, MongoDB, MSSQL, Supabase, GraphQL, REST APIs, Redis, Hugging Face models, Google Sheets, Firebase, CouchDB, and more than a dozen additional sources without writing connector code.
  • Real-time Multi-user Collaboration - Multiple developers can edit the same app simultaneously via a hand-rolled binary WebSocket protocol that broadcasts cursor positions and component changes to all co-editors without third-party real-time infrastructure.
  • Workflow Automation - Actions can be triggered by incoming webhooks or scheduled jobs, enabling event-driven behavior such as auto-refreshing dashboards, sending notifications, or chaining queries on a timer.
  • Self-hosted Deployment - Deploy the full platform on your own infrastructure using Docker, docker-compose, or Kubernetes, with Nginx serving static assets and default admin credentials to bootstrap first login.
  • Page-based App Structure - Build multi-page applications with navigation, shared global state, and page-level URL routing, providing the foundation for content-rich tools that go beyond a single-screen dashboard.

Common Use Cases

  • Building an internal CRM - A sales operations team connects ILLA Builder to their PostgreSQL contacts database, builds a searchable table with inline editing, and adds a sidebar form for logging calls—replacing a spreadsheet without writing backend code.
  • Developing a DevOps monitoring dashboard - A platform engineer pulls metrics from Redis and REST APIs into Chart.js visualizations, sets up a scheduled action to refresh every 60 seconds, and shares the app with the on-call team via a self-hosted ILLA instance.
  • Creating a content moderation admin panel - A trust-and-safety team connects to their MongoDB flagged-content collection, builds a DataGrid with approve/reject buttons that fire REST API actions, and uses global state to track review session progress.
  • Automating an employee onboarding workflow - An HR manager wires an incoming webhook to trigger a sequence of actions that populate a new-hire record in Supabase, send a Slack notification via REST API, and generate a checklist view for the new employee.
  • Prototyping AI-powered internal tools - A machine learning team connects to Hugging Face model endpoints through the built-in integration, builds a form that submits text inputs and renders model responses in a markdown component, and iterates without deploying custom API middleware.

Under The Hood

Architecture ILLA Builder is structured as a Turborepo monorepo with clear separation between the visual builder application, a cloud-specific frontend, an end-to-end test suite, and shared library packages including the ILLA Design component system and public utility modules. The builder application follows a layered React and Redux architecture where the canvas, component panel, action panel, and inspect panel occupy discrete segments of the layout, each communicating through typed Redux slices rather than prop drilling. The most architecturally distinctive element is the execution tree, a purpose-built dependency resolution system that treats every widget property and action result as a reactive node, re-evaluating bindings in topological order whenever upstream values change. Collaboration state flows through a hand-rolled WebSocket client with heartbeat, reconnect, and message queue logic, broadcasting Redux actions to all co-editors without a third-party real-time service. A custom undo/redo middleware wraps the Redux store, and a listener middleware pattern handles async side effects cleanly without sagas.

Tech Stack The core runtime is React 18 with TypeScript built by Vite using the SWC plugin for fast compilation. State management relies on Redux Toolkit with a listener middleware approach supplemented by custom middlewares for guide flows, undo/redo, and analytics reporting. The real-time collaboration layer uses hand-rolled WebSocket client code with protobuf-ts for typed binary messages. Code editor surfaces use CodeMirror 6 with SQL, JavaScript, HTML, JSON, and XML language mode support. The drag-and-drop canvas uses DnD Kit with touch backend support for mobile compatibility, and Framer Motion handles animations. Data visualization is Chart.js via react-chartjs-2, while the advanced DataGrid widget integrates MUI X Data Grid Premium, enabling Excel-like column manipulation and row grouping but requiring a commercial MUI license key for the full feature set. Internationalization runs on react-i18next with Crowdin managing translation workflow across four languages. Deployment is Nginx-served static assets in Docker containers, with a Fly.io configuration included for cloud hosting.

Code Quality Testing is exclusively end-to-end via Playwright, covering all resource connector flows—PostgreSQL, MySQL, REST API, Redis, MongoDB, Supabase, Hugging Face, Google Sheets, and more than a dozen others—but no unit or integration tests exist in the builder source. The Playwright suite follows a consistent setup and teardown pattern but contains repeated boilerplate across test files with limited shared utilities. Error handling surfaces primarily through UI notification components rather than typed error classes or exhaustive Result types. TypeScript strict mode is enabled but environment variable access uses raw import.meta.env without runtime schema validation. The tooling baseline is strong: ESLint, Prettier, Husky, lint-staged, and commitlint are all configured and enforced, ensuring consistent code style. The middleware stack is cleanly separated into discrete files with single responsibilities. Overall the codebase is coherent and navigable but testing coverage is shallow, confined to happy-path E2E scenarios.

What Makes It Unique The execution tree is ILLA Builder’s most technically differentiated contribution: a reactive dependency graph that evaluates Handlebars-style expressions across all widget properties and action results in topological order, enabling any property in any component to reference any other without explicit event wiring. Real-time multi-user collaboration is implemented with a proprietary binary WebSocket protocol rather than established solutions like Yjs or Liveblocks, giving the team full control over the collaboration model while eliminating a major external dependency. The MUI X Data Grid Premium integration gives the DataGrid widget capabilities—row grouping, Excel export, column pinning, aggregation—that are substantially more powerful than what most low-code platforms offer. The combination of self-hostable deployment on Kubernetes with AI model integrations through Hugging Face and a reactive canvas that supports complex data transformations via embedded JavaScript puts ILLA Builder in a niche between simple form builders and fully custom application frameworks.

Self-Hosting

ILLA Builder is licensed under the Apache License 2.0, which is a permissive open-source license with no copyleft implications for self-hosters. You can use it commercially, modify the source, distribute modified versions, and incorporate it into proprietary products, provided you retain the Apache 2.0 copyright notice and license text. The only meaningful constraint for self-hosters is that the DataGrid widget integrates MUI X Data Grid Premium, which requires a separate commercial license key from MUI for the full feature set; without that key, some advanced DataGrid capabilities may be restricted.

Running ILLA Builder yourself means managing the full application stack. The frontend is a Node.js-built React app served as static files behind Nginx, and ILLA provides Docker images and a docker-compose configuration to simplify local or single-server deployments. For production-grade setups, a Kubernetes manifests path exists via the ILLA CLI described in the documentation. You are responsible for infrastructure provisioning, SSL termination, database backups for any application data your internal tools write, container updates when new releases appear, and monitoring uptime. The project releases at a high cadence with over two hundred releases published, so keeping a self-hosted instance current requires attention. Authentication in the default self-hosted install uses a root email and password credential, so SSO and team access management require additional configuration.

Compared to ILLA Cloud, the managed service, self-hosting means you forgo built-in team management features, enterprise SSO integration, SLA-backed uptime, managed upgrades, and cloud backups. ILLA Cloud offers a free tier for individuals and paid plans that add team member seats, priority support, and features aimed at organizations. For small teams comfortable with container operations and willing to maintain their own infrastructure, self-hosting delivers full data sovereignty and no per-seat cost. For teams that need reliability guarantees or centralized identity management without DevOps overhead, the cloud offering is a more practical starting point.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack

No spam. Unsubscribe anytime.

Join 750+ subscribers
No spam. Unsubscribe anytime.

Search