Windmill is an open-source developer platform written in Rust that enables users to transform scripts into APIs, background jobs, workflows, and user interfaces. The platform supports multiple programming languages including Python, TypeScript, Go, Bash, SQL, GraphQL, PowerShell, Rust, and others, making it accessible to developers with diverse technical backgrounds. It functions as a self-hostable alternative to commercial platforms like Retool, Pipedream, and Superblocks, while also offering a simplified approach to workflow orchestration compared to Temporal.
The core workflow in Windmill involves three main steps. First, developers write minimal scripts in their language of choice using either the provided web IDE or by synchronizing with their own GitHub repository through a VS Code extension. Second, the platform automatically parses script parameters and generates frontend interfaces without requiring manual UI development. Third, users can chain scripts together into flows or compose them into more complex applications using the low-code builder. Scripts and flows can be triggered through multiple mechanisms including schedules, webhooks, HTTP routes, Kafka, WebSockets, and email triggers.
The technical stack leverages PostgreSQL for data storage with compatibility for managed services like AWS Aurora, Google Cloud SQL, and Azure PostgreSQL. The backend consists of stateless API servers and workers written in Rust that pull jobs from a Postgres queue. The frontend is built with Svelte 5. Sandboxing is implemented through nsjail and PID namespace isolation to prevent unauthorized access to system resources. Runtime support includes Bun and Deno for TypeScript/JavaScript, Python 3 with uv for dependency management, and various other language runtimes.
A significant differentiator is Windmill's performance characteristics. According to the repository's benchmarks, Windmill is 13 times faster than Airflow and outperforms other self-hostable workflow engines including Prefect and Temporal in both lightweight task scenarios and long-running task scenarios. Once a job starts, there is minimal overhead compared to running the script directly on a node, with approximately 50 milliseconds of added latency from queue processing and result storage, and typical lightweight jobs completing in around 100 milliseconds total.
The project maintains active development with 910 tracked issues and pull requests showing a median response latency of 0 hours and a mean of 591.1 hours. The most active contributor is rubenfiszel with 1382 recorded events, followed by hugocasa with 155 events and wasnertobias with 97 events. Bug reports represent the most common issue type with 406 tracked instances. The repository shares contributors with major projects including Microsoft's VSCode and TypeScript, as well as the Rust language project itself.
Windmill supports multiple deployment options including Docker Compose for simple setups, Kubernetes via Helm charts, and compatibility with major cloud providers including AWS, GCP, Azure, and others. The platform includes built-in support for OAuth, SSO through Google Workspace, Microsoft Azure, and Okta, plus SMTP configuration. The Community Edition is available under AGPLv3 with additional proprietary features included in the distributed binaries, while the source code without enterprise features remains fully open-source under AGPLv3 licensing.