Open source alternative to Retool for building UIs
Retool is great for building internal tools in low code. Windmill does it too, but it also broadens the realm of possibilities for more demanding developers.
Although having a very similar app builder, Windmill complements it with much more powerful and versatile script & flow editors that will take you further in your app building experience.
Retool is a development platform that allows developers to build internal tools by connecting to various databases, APIs, and third-party integrations. It offers a drag-and-drop interface combined with the flexibility of custom code.
Open source
Windmill is fully open source. This implies that Windmill can be self-hosted with just a few commands, providing cost-effective and secure solutions.
Windmill offers a clean slate, allowing you to fully explore its platform before committing to the product. Windmill's open-source nature ensures that the platform is tested, approved, and continuously enhanced to meet the community's needs.
Finally, Windmill provides and integrates into its platform a public community Hub where users share useful and proven scripts, flows, and applications. Unlike Retool, where you are limited to pre-written templates by the Retool teams.
Retool is a proprietary software and closed source.
Integrations
Windmill has dozens of integrations initiated by the community and approved by the Windmill team.
Anyone can create an integration with just a few clicks.
You can only use Retool's pre-approved integrations and "Suggest a resource" instead of adding it or sharing it yourself.
Versatility
The app builder of Retool is very similar to that of Windmill. In the architecture, both platforms allow connecting components to code or workflows. However, the possibilities with code on Retool will be much more limited:
Languages and scripts
Retool only supports JavaScript and SQL. Windmill supports JavaScript (TypeScript), SQL, but also Python, Go, Bash. For each of those languages, scripts can be run without having to manage a package.json directly. For other languages, Windmill supports running any docker container through its bash support.
All operations in Windmill are based on scripts. Unlike Retool, scripts in Windmill can be considered as standalone endpoints: executable through autogenerated UIs, webhooks, etc.
Workflow engine
Retool is not originally designed as a workflow engine. Its flow capabilities are geared towards non-technical users, similar to n8n. Adding steps or For loops can be frustrating. Flows will be limited without features like approval steps, early stop, sleep, etc.
The flow-building experience is cumbersome, as Retool has not managed to incorporate the same level of low-code simplicity found in its app builder (e.g. picking inputs from previous steps’ outputs).
Developer experience
Despite being a low-code tool, Windmill has been designed to cater to developers. It is possible to use Windmill from the terminal through its CLI, from VS Code, or deploy it from GitHub/GitLab.
Additionally, you can bypass the app builder in a no-code manner by directly importing apps in React/Vue/Svelte.
Pricing
Windmill has a transparent pricing policy, with clear steps for implementation.
Windmill is cheaper at scale and can be used for free at any scale thanks to its open source nature.
What Retool does better and where is Windmill on those topics
Retool benefits from a vast library of templates.
Windmill provides the Windmill Hub platform where anyone can share scripts, flows, and applications. The most relevant ones are marked as "Approved" by the Windmill team and directly incorporated into the product.
Finally, Retool has a broad library of components. On one hand, due to the limitations of using code & customization in Retool, many of these components are duplicates or even triplicates, whereas they would be single customizable components in Windmill. On the other hand, our list of components is determined by the needs of our users. Most of our users who have chosen Windmill over Retool have favored Windmill's ability to quickly add the components that are useful to them.
Everything else
For everything else, it's comparable: you can run on schedules or webhooks, source control, seamlessly interact your apps with databases, link runnables to components, give styling to apps, resources are handled in a similar way.
To conclude, Retool is an excellent engine for building custom applications within a reassuring and defined framework.
Windmill provides its users with transparency and versatility to delve deeper into the building of apps.