Windmill Labs
Windmill

Build full-code internal apps

For platform teams who need to ship internal tools with production-grade observability, enterprise controls and zero infrastructure overhead.

Build backend in 20+ languages, and React or Svelte frontends
Native integrations with DuckDB, Ducklake, S3 and any database
One platform, no infrastructure to manage, self-host or cloud

Trusted by 4,000+ organizations, including 300+ EE customers at scale:

ZoomZoomKahootInvesting.comCFA InstituteAxiansAxiansPhotoroomPavePanther LabsNocd

What is an internal app on Windmill?

An internal app on Windmill is a React or Svelte frontend backed by Windmill backend-runnables running on dedicated workers. The platform serves the frontend, runs the backend, stores the data and handles auth, permissions, versioning and observability.

The backend runnables are Windmill server-side scripts and workflows, which connect to your databases and APIs through shared resources. The frontend calls them directly, no API layer to build, no infrastructure to manage.

Backend, data and frontend in one platform

Backend scripts, data connections and frontend components live in the same platform. Each layer connects natively, no glue code or separate services to manage.

Backend runnables in 20+ languages

Each app component calls scripts and workflows that run server-side on dedicated workers. Write business logic in TypeScript, Python, Go, SQL, Bash and more. Scripts connect to external services through shared resources with 100+ integrations available out of the box.

Learn more about the script editor
Backend runnables in 20+ languages

Two ways to create internal apps

Build apps directly in the Windmill UI or develop locally with your own editor and framework. Both paths deploy to the same platform.

In the Windmill UI

The Windmill UI provides a built-in IDE where you can connect your frontend to your workspace's backend runnables and use AI assistance to generate your app. Deploy in one click with built-in versioning.

Learn more about the app builder

In your local editor

Use Claude Code or Codex skills to generate frontend and backend runnables locally. Import React or Svelte apps and deploy with the CLI.

Learn more about local development

Built for production

Every app runs within a platform built for enterprise requirements: immutable versioning, role-based access control, full audit trails, SSO and self-hosting. No extra setup needed.

Versioning and deploy

Every app version is immutable and addressable by hash. Deploy from the UI, the CLI or Git sync. Roll back to any previous version instantly. Sync your workspace with GitHub or GitLab and use your existing code review workflows.

Learn more about deployment and versioning

Full observability

Every run is logged with inputs, outputs, duration and status. Real-time execution logs stream as your app runs. Set up error handlers to send alerts on failure. Audit trails track who ran what and when.

Learn more about observability

RBAC and permissions

Control who can view, edit and run each app with role-based access control. Organize apps into folders with group-level permissions. Authenticate users with SSO. Every action is recorded in the audit log.

Learn more about RBAC

One platform, no infrastructure overhead

No separate tools for backend, frontend, storage, monitoring and deployment. Windmill provides them all as built-in layers, natively integrated, no glue code required. Self-host or use Windmill Cloud.

Write your business logic
1
2
3
4
5
6
7
8
9

Code locally with Windmill CLI, VS code extension, skills and plug-in.

WindmillAnd provides all the platform layers

See it in action

An example production planning tool built on Windmill. Browse the Windmill Hub for more templates.

Frequently asked questions

Build your internal platform on Windmill

Scripts, flows, apps, and infrastructure in one place.