Windmill is an open-source workflow engine — turn scripts into UIs, APIs, and scheduled jobs.
What You Get for Free
- Script → UI — auto-generate forms from function parameters
- Script → API — every script gets an API endpoint
- Script → Cron — schedule any script
- Flows — visual workflow builder with branching and loops
- Multi-language — TypeScript, Python, Go, Bash, SQL, GraphQL
- Approval flows — human-in-the-loop steps
- Error handling — retries, timeouts, error handlers per step
- Variables & secrets — centralized secret management
- Groups & permissions — RBAC for teams
- Self-hostable — Docker Compose or Kubernetes
Quick Start
docker compose up -d # from windmill's docker-compose.yml
# This script auto-generates a UI form with inputs for each parameter
def main(customer_email: str, refund_amount: float, reason: str):
"""Process a customer refund"""
# Windmill creates a form with 3 fields automatically
db.execute("INSERT INTO refunds VALUES (?, ?, ?)",
customer_email, refund_amount, reason)
send_email(customer_email, f"Refund of ${refund_amount} processed")
return {"status": "refunded", "amount": refund_amount}
Why Developers Switch from n8n/Retool
n8n is no-code only, Retool is expensive:
- Code-first — write real Python/TypeScript, not drag-and-drop
- Auto-UI — function signature → form, no UI building
- Open source — self-host for free, no per-user pricing
- Flows — visual when you want, code when you need
An ops team built 15 Retool apps at $50/user/month ($750/month for 15 users). After Windmill: same functionality, self-hosted, $0/month.
Need Custom Data Solutions?
I build production-grade scrapers and data pipelines for startups, agencies, and research teams.
Browse 88+ ready-made scrapers on Apify → — Reddit, HN, LinkedIn, Google, Amazon, and more.
Custom project? Email me: spinov001@gmail.com — fast turnaround, fair pricing.
Top comments (0)