Transitioning to script-first automation with Windmill
Windmill offers a high-performance, open-source alternative to Retool and n8n for developers using Python, TypeScript, or Go. This platform is 13 times faster than Airflow and allows teams to consolidate backend processes into scalable workflows and internal UIs.
Getting an instance running
Windmill is an open-source developer platform that converts Python, TypeScript, Go, or Bash scripts into workflows, webhooks, and internal UIs. It is 13 times faster than Airflow in performance benchmarks. If you leave n8n because its node-based automation lacks the depth you need, Windmill provides a script-centric alternative. It targets developers who want to automate backend processes like order processing or inventory management. The platform uses a three-layer model where scripts serve as the foundation, flows chain those scripts into workflows, and apps turn them into interfaces. It supports various languages, including SQL, GraphQL, PowerShell, Rust, C#, Java, and Ansible. It provides an alternative to Pipedream and Temporal with a developer-focused environment.
The setup requires only three files: docker-compose.yml, Caddyfile, and .env. You launch the instance with Docker Compose and log in at localhost:8000 with the admin@windmill.dev/changeme credentials. The platform parses script parameters to generate frontend forms automatically. You can synchronize your code with a GitHub repository through a VS Code extension. You run scripts locally by passing environment variables to the wemmillclient library. This configuration allows you to use a Postgres database, such as Aurora or Cloud SQL, to manage the job queue.
| Feature | Free Self-Host Tier | Enterprise Self-Host Tier |
|---|---|---|
| Executions per month | Unlimited | Unlimited |
| Maximum users | 50 | Unlimited |
| Workspaces | 3 | Unlimited |
| SSO/SAML support | No | Yes |
| Audit logs | No | Yes |
I find that developers can define a minimal Python or TypeScript script to solve a specific task and then chain these scripts together into complex flows or use them to build richer applications with low-code elements.
Deployment options include AWS, GCP, Azure, Ubicloud, Fly.io, and Digital Ocean. You can run a local instance with Docker Compose or deploy on AWS EKS or ECS. The backend runs on Rust and uses a Postgres database to manage the job queue. You can direct the DATABASE_URL to Aurora, Cloud SQL, or Neon. For TypeScript, the system uses Bun, while Python 3 runs with uv for dependency management. You should allocate one worker per 1vCPU and 1-2 GB of RAM. The system uses nsjail for filesystem isolation and PID namespace isolation. The frontend is built with Svelte 5. A typical lightweight Deno job takes around 100ms total to complete.
Comparing Windmill to legacy tools
Windmill differs from Retool because it prioritizes code over drag-and-drop simplicity. Retool has more polished UI components for complex layouts, but Windmill handles the execution of scripts with lower latency. I observed that Python scripts with heavy dependencies like pandas have noticeable cold start times because the system installs packages in a fresh environment. The app builder covers basic CRUD dashboards but struggles with more sophisticated layouts compared to Retool. You can chain scripts visually in the flow builder, which is more similar to GitHub Actions than a visual canvas.
You know that moving away from proprietary tools helps avoid vendor lock-in. The free self-hosted tier includes unlimited executions and up to 50 users. It holds 17,764 GitHub stars. For managed infrastructure, the Cloud Team tier costs $10 per month for 10 seats. Developers cost $20 per month and operators cost $10 per month. The Enterprise plan starts at $120 per month and adds SAML and Git sync. Does the absence of native autoscaling in the free tier make it difficult for your team to manage highly variable workloads?
I recommend Windmill for engineering teams that need to consolidate scattered scripts and developer runbooks into a single platform. It is a solid choice for automating infrastructure and backend processes.