Open-source platform to turn scripts into internal apps & workflows
We are a small but mighty team and compete with well-funded proprietary alternatives such as Airplane, Pipedream, Superblocks or even Retool. As such, we need to make fast-paced, iterative and sustainable software design choices. Windmill is an enterprise platform that integrate all components to build your entire backoffice on top of it (one can see it as the complementary to Supabase for everything that is not external user facing), a flow builder (with an open spec for flows) based on composing minimal and reusable scripts, and an highly available distributed systems with workers to run jobs and flows. It is built with Rust, Postgres, sandboxing (nsjail) and Svelte for the frontend. You will work independently but in an highly collaborative setting as an engineer to make Windmill a delightful, scalable and performant product.
The full architecture is available in our docs but the gist of it as follows:
We have defined an open-source spec around flows called OpenFlow which is approximately a sequence of modules (where most modules are plain scripts inlined or from your hub/workspace or can contain flow themselves and do things such as for-loops). The state of the flow is stored in the database and modules are executed one-by-one by the first available worker. When a worker is done with a job, it updates the state of the flow and push the next job. As such, it is a distributed FSM.
Windmill is an open-source developer platform and runtime to turn scripts into workflows & internal tools. It is the sweet-spot between Retool and Temporal, and an open-source alternative to Superblocks, Airplane and Pipedream.
Scripts in Python or Typescripts have their parameters analyzed and turned automatically into standalone apps and no-code modules. In flows, scripts can be sequenced into powerful workflows. It is similar to no-code tools except that each module is a script underneath and scripts can be shared on the WindmillHub for everyone to reuse in their flows. Windmill is an all-in-one queue/worker runtime, script editor, flow builder, secret management platform, OAuth platform credentials in a platform fit for enterprise with groups, granular permission and audit logs.
In addition the platform provides automatic generation of the UI by reading the scripts' parameters, cron scheduling, separation of credentials and logic, versioning, importing scripts from Github and more.
There are two modes of triggering for flows and scripts:
The main insight is that available no-code tools today are intuitive for non-technical users but lacks the extensibility that code provide. On the other hand, writing code is only 10% of the work. You then have to deal with credentials, separatig sensitive values, deploy your script through CI/CD, handle permissions, build a UI, handle errors and so on.
Windmill is easy to deploy, works out of the box and replaces all of an org's infra.