Windmill Takes Scripts From Laptop to Production in Minutes
You wrote a Python script. Now you need it scheduled, with retries, logging, permissions, and a UI. That takes weeks with custom infra. Windmill does it in minutes.
What Windmill Does
- Script editor — TypeScript, Python, Go, Bash, SQL, GraphQL
- Flows — chain scripts into workflows with branching
- Schedules — cron jobs with monitoring
- Apps — drag-and-drop UI builder connected to scripts
- Approval flows — human-in-the-loop steps
- Auto-generated UI — every script gets a form UI automatically
Quick Start
# Docker
docker compose up -d
# Write a script (Python)
# main(name: str, count: int = 5) -> list:
import requests
def main(name: str, count: int = 5):
results = []
for i in range(count):
r = requests.get(f"https://api.example.com/{name}")
results.append(r.json())
return results
Windmill auto-generates a form with name (text) and count (number) inputs. One click to run, schedule, or share.
Windmill vs n8n vs Airflow
| Feature | Windmill | n8n | Airflow |
|---|---|---|---|
| Code-first | Yes | No-code | Python DAGs |
| Languages | 6+ | JavaScript | Python |
| UI builder | Yes | No | No |
| Auto-generated UI | Yes | No | No |
| Self-hosted | Yes | Yes | Yes |
| Learning curve | Low | Low | High |
Free Tier (Cloud)
| Resource | Free |
|---|---|
| Users | 1 |
| Executions | 1,000/month |
| Scripts | Unlimited |
Self-hosted: free, unlimited.
Why Windmill
- Code-first — real programming languages, not visual blocks
- Auto UI — every function gets a web form instantly
- Fast — Rust runtime, sub-100ms cold starts
- Approval flows — add human review to any step
- Open source — AGPL, self-host for free
📧 spinov001@gmail.com — Workflow automation consulting
Follow for more automation tool reviews.
Top comments (0)