Currently in private beta. Join the waitlist for priority access when we launch.
The ceiling
Every automation tool works until it doesn't.
You didn't pick a drag-and-drop builder because you couldn't code. You picked it because it was faster, and for a while it was. Then one of these happened.
The branch you can't express.So now there are four near-identical flows, and a change means editing all four and hoping you didn't miss one.
The integration that isn't in the catalogue.Everything you need is behind an API you can reach in ten lines, and you're building it out of generic HTTP actions and JSON parsing steps instead.
The step that needs a real runtime.A library, a specific version, thirty seconds of actual compute — and the platform gives you a text box that runs a sandboxed snippet with a timeout.
The automation nobody can review.It isn't in Git. It can't be diffed. It can't be rolled back. When it broke last Tuesday, the only record of what changed is somebody's memory.
You don't need a better builder. You need to write it down.
Worked example
A notification, three ways.
The job
Form submissions land in a Cloudflare D1 table. When one arrives, the team should see it in Teams. That's the whole requirement.
The version that hit the ceiling
There is no D1 connector. So it becomes a scheduled HTTP action against a worker endpoint, a JSON parse step, a loop, a condition to skip the ones already sent, and a Teams post — six steps of glue, none of them the actual work. The schedule is a floor, so “when one arrives” quietly becomes “within five minutes, most of the time”. The credentials live in the tool. Nothing is in Git.
Three resources and one job. It triggers on state, not on a clock. d1-query is a resource type we wrote ourselves in an afternoon, because the platform lets you bring your own rather than waiting for a catalogue. The secrets are references, not values. The whole thing lives in a repo, so it diffs, it reviews, and it rolls back.There is no build step anywhere in that pipeline. This is the other thing worth noticing: automation and CI are the same machinery, and you only need one of them.
What the platform does
Triggers off real state, not a schedule
A pipeline watches a database, an S3 prefix, a release feed, a webhook, a Git branch — anything you can write a resource for. It runs when the thing actually changes, and it knows what changed, because the payload comes with it.This is the difference between automation and a cron job that checks. Polling every five minutes is not an event; it’s a guess that costs you five minutes.
Resource types in use today. Every one of them user-written:
d1-query
s3-prefix
github-release
teams-webhook
git
Usage-based, not user-based
You pay for compute that runs. Not for names on a roster, not a flat fee that lands whether you shipped this month or not.Bursty workloads stop subsidising idle seats — and when nothing is running, nothing is billed.
AUD $150/monthplatform fee, then AUD $0.05622 per vCPU-hour.
See pricing
Reproducible, because nothing is shared
Every step runs in its own container with no implicitly shared state. The hundredth run behaves like the first.No snowflake agents, no “works on the build box”, no drift you discover during an incident.
Genuinely concurrent
across and in_parallel execute concurrently by default, not as an optimisation you opt into after something gets slow.Fan out over a matrix of inputs and the steps run at the same time, because that’s the obvious reading of what you wrote.
Configuration will be generated programmatically instead of copied between repositories. One definition, applied consistently across every team.When the standard changes, it changes in one place.