Industry Insights 14 min read

Why ToolJet’s 40K+ Stars Make It a Viable Open‑Source Low‑Code Platform for SMB Internal Tools

The article examines the pain points of building internal tools for small‑to‑medium businesses, introduces ToolJet as an open‑source, self‑hostable low‑code alternative, details its core features, deployment steps, a hands‑on demo, compares it with Appsmith, Retool and domestic SaaS options, and provides practical tips and pitfalls for production use.

AI Architecture Path
AI Architecture Path
AI Architecture Path
Why ToolJet’s 40K+ Stars Make It a Viable Open‑Source Low‑Code Platform for SMB Internal Tools

Problem

SMBs often wait weeks for developers to build simple internal pages such as order lookup, status changes, or inventory tables. Commercial SaaS low‑code platforms either cannot be self‑hosted or charge per‑user fees, while Retool, although powerful, has a high barrier and cost for private deployment.

ToolJet Overview

ToolJet (GitHub ★40K+, AGPL‑3.0) is an open‑source alternative to Retool aimed at internal‑tool use cases. The current LTS release is v3.20.212‑lts (released 2023‑08‑14) and adds UI refinements such as dynamic component height and currency input formatting.

Core Features

🧩 60+ responsive components (tables, forms, charts, buttons, calendars, modals, file upload, progress bars) with visual style editing and dark/light mode.

🔗 80+ data‑source connectors covering databases (PostgreSQL, MySQL, MongoDB, Redis, BigQuery, Snowflake, Elasticsearch), SaaS services (Stripe, Slack, Airtable, Google Sheets, Salesforce), and generic connectors (REST API, GraphQL, S3, large‑model APIs).

🗄️ ToolJetDB – an embedded PostgreSQL‑compatible DB for rapid prototyping; production use requires an external PostgreSQL instance.

⚙️ Workflow engine with visual triggers, conditional branches, and JS/Python script extensions for data transformation and business logic.

👥 Collaboration – multi‑page apps, simultaneous editing, canvas comments, @‑mentions, basic access control.

🚀 Self‑hosting options – Docker (single command), Docker‑Compose, Helm charts; compatible with AWS, GCP, Azure, DigitalOcean.

Deployment Guide

For local evaluation, run the community image (try‑lts) with Docker:

docker run \
  --name tooljet \
  --restart unless-stopped \
  -p 80:80 \
  --platform linux/amd64 \
  -v tooljet_data:/var/lib/postgresql/13/main \
  -v temporal_sqlite:/etc/temporal \
  tooljet/try:ee‑lts‑latest

After startup, open http://localhost, register an admin account, and select the LTS tag for production builds.

Hands‑On Demo

Create a new app named Employee Directory and drag a Table component onto the canvas.

In ToolJet Database , create a table employees with fields firstname, lastname, email, department, position, status and insert sample rows.

Add a query getEmployees (List rows) on the Table’s data source, enable “run on page load”.

Bind the Table’s data property to {{queries.getEmployees.data}}.

Create a second query addEmployees (Create row) and bind its input to the Table’s new‑row fields using

{{components.table1.newRows[0].email}}{{components.table1.newRows[0].firstname}}

.

Attach the Table’s “Add new rows” event to run addEmployees, and on its success event run getEmployees to refresh the view.

Preview, verify functionality, then click Release to generate a shareable link.

The workflow—create table → configure query → drag component → bind data → publish—covers typical use cases such as order management, inventory dashboards, and simple approval flows.

Horizontal Comparison

ToolJet : Community edition fully private, 80+ connectors, full‑featured canvas, free community with optional paid enterprise (adds AI‑native, Git sync, SSO, RBAC). Strengths: JS+Python scripting, built‑in DB, strong collaboration.

Appsmith : Open‑source private, supports mainstream databases, basic drag‑drop, Apache‑2.0 license, enterprise subscription is relatively high‑priced, scripting limited to JavaScript.

Retool : Private deployment only in paid enterprise, rich SaaS integrations, mature drag‑drop UI, closed source, per‑builder + per‑end‑user billing, high cost.

Yida / Mingdao Cloud : No private deployment, vendor‑locked data sources, visual builder, per‑user annual fee, quick onboarding but data hosted externally and costs rise with scale.

Practical Pitfalls

Image version : Use the LTS tag for production; the latest tag is unstable. The try image is for demo only and must not run live workloads.

ToolJetDB performance : Suitable for prototypes; high‑concurrency or complex queries should use an external PostgreSQL instance.

Docker volume mounting : Forgetting to mount persistent volumes destroys configuration and data on container restart.

Team skill assessment : The platform targets developers; non‑technical teams may face a steep learning curve due to JS/Python scripting.

Debugging : Use the built‑in Inspector and Debugger panels to trace data flow and query logs instead of blind configuration changes.

Least‑privilege DB access : When connecting to production databases, restrict accounts to read‑only where possible and block public network exposure.

Configuration migration : ToolJet stores app configuration internally, not as a source‑code repository; avoid treating it as a full‑code replacement for critical business consoles.

License constraints : AGPL‑3.0 requires source disclosure for external services; evaluate the enterprise subscription if commercial compliance is needed.

Implementation Checklist

Run the Docker image or try the hosted ToolJet Cloud, complete the employee directory demo to validate component and data‑source fit.

Identify hard requirements (Git sync, row‑level permissions, audit logs) and decide between community and enterprise editions.

For production, switch to Docker‑Compose or Helm, attach an external PostgreSQL instance, back up data, harden network security, and never use the try image.

Conclusion

ToolJet balances avoidance of vendor lock‑in with elimination of the need to code full front‑end and back‑end stacks from scratch, making it a strong candidate for SMB internal‑tool projects.

https://github.com/ToolJet/ToolJet
Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Dockerlow-codeopen sourceComparisoninternal toolsAGPL-3.0ToolJet
AI Architecture Path
Written by

AI Architecture Path

Focused on AI open-source practice, sharing AI news, tools, technologies, learning resources, and GitHub projects.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.