Why Windmill
All code is not made equal and can be split in 2 categories:
- Code that matters: high-value code containing your business logic, data transformation, internal API calls, and all the logic of your internal long-running services and workflows. This is the crux of the value-added of your engineering. Usually that code is prototyped and started under the form of scripts and SQL files, until it is turned at great expense into micro-services and hard to maintain custom internal tools.
- Boilerplate: all the rest is boilerplate. Be it UI and frontends that allow you to call the code above, API calls to external services, error handling, retries, logic to make your code scalable, dependency management, CI/CD, managing secrets, schedules, permissions, authentication, etc. That code is boilerplate because it feels like you shouldn't have to reinvent the wheel, over and over again.
Many services label themselves as no-code or low-code: they do address the challenge of getting rid of the boilerplate and are accessible to all members of a diverse organization, not solely engineers. However, we believe they lack the full power and flexibility of code, as they either hide it completely or only allow it under restricted forms.
Windmill is different:
- Windmill is an open-source developer platform and infra to turn scripts (TypeScript, Python, Go, PHP, Bash, C#, Java, SQL and Rust, among others) into endpoints, workflows and UIs. In that respect, Windmill is an alternative to Retool, Prefect, Temporal and n8n.
- It empowers semi-technical users to access and edit that code without being overwhelmed by the usual barriers to entry (git, IDE, local environments, secrets management, etc).
- It meets the standards of senior/staff software engineers for production-grade infrastructure, while staying flexible and customizable with code.
Concretely, Windmill combines:
- A fast, scalable runtime for scripts with a self-managed job queue, dependency management inferred from the code itself, and auto-generated UIs derived from your script parameters.
- A workflow engine with a low-code builder: build and run complex flows with retries, error handling, for loops, branches, approval steps and suspended executions that consume no resources while waiting.
- App builders: a low-code UI builder for internal apps, admin panels and dashboards, and a full-code app builder for custom React or Svelte frontends connected to Windmill backend runnables.
- Triggers for every script and flow: webhooks, schedules, HTTP routes, queues and more, plus an open API to embed Windmill into your existing infrastructure.
- An enterprise-grade platform: permissions and RBAC, secrets, OAuth and SSO, audit logs, and a CLI with Git sync for local development and version control.
The central tenet is: make building automation fast and easy, and everybody will automate repetitive tasks and save a lot of time. Scripts become widely useful tools, with an agreed-upon way to run them, UIs that cost nothing to build, and production-grade infrastructure that you don't have to maintain.
Windmill is fully open source and can be self-hosted with a simple docker compose up, or used through the Cloud App. You can find examples and inspiration on Windmill Hub or on our Blog, and a detailed view of how Windmill compares to other tools on the Windmill compared to competitors page.