Here's a thing that sounds clever and is actually a trap: "we'll wrap the deploy APIs in an MCP server so your agent can ship to any cloud."
Every infra company can do that. Vercel can wrap Vercel. Fly can wrap Fly. Cloudflare can wrap Cloudflare. Railway can wrap Railway. Each of them can ship a perfectly good agent interface to their own platform in a quarter, because it's a thin layer over an API they already own. "We have MCP tools" is table stakes the moment one of them ships it, which means it's not a moat for anyone.
So what is defensible? The position none of them can take: being the neutral aggregator of their own competitors.
Why the incumbents structurally can't be neutral
Vercel's business is owning the compute and the margin on it. So is Fly's. So is Cloudflare's. Their entire model depends on your app running on their boxes. The day Vercel builds a deploy surface that's genuinely indifferent to whether your app lands on Vercel or Fly is the day Vercel starts handing revenue to Fly. They will never do that, because it's suicide for their core business.
That's not a temporary gap you can out-execute. It's structural. Being the Switzerland of deploy, neutral across every provider underneath you, is the one position the people who own the compute can never take, because their margin lives in the lock-in. The neutrality that's a contradiction for them is the entire product for us.
Neutral means every primitive sits behind a swappable seam
Neutrality isn't a marketing word here. It's an architecture rule we enforce in code. Every core primitive (compute, database, domain, secrets, source, object storage) lives behind a provider-neutral interface with swappable backends. The tools and the reconcile loop route through those interfaces and never import a vendor SDK directly. A provider concept leaking up into a tool signature isn't a style nit. It's an erosion of the moat, and we treat it that way.
The payoff is concrete: a tool's signature never says neon_* or k8s_* or github_*. It says database, compute, source. So the day we swap the backend underneath, the agent driving it doesn't change a single call. The neutrality is real all the way down to the type signatures an agent reads.
This isn't a promise, it's already proven on the database
The easy version of this story is a beautiful abstraction with exactly one backend behind it, where "neutral" is a claim you're asked to take on faith. We didn't want to ship that.
So the database primitive runs three interchangeable backends behind one interface today: internal Postgres as the house default, plus Neon and Supabase, all selectable, all behind the same seam. (A fourth, SQLite, is implemented behind the same interface and currently kept disabled.) An agent asks for a database and doesn't know or care which one it gets. That's neutrality demonstrated, not promised: the moat made real on at least one primitive instead of drawn on a whiteboard.
Compute is the next milestone. Today it runs one backend behind its seam, so neutrality there is interface-proven: the abstraction is real and a second backend slots in with zero churn in the tool layer. Standing up that second compute backend is a sequenced commitment, not a someday, and the database already shows what "two real backends behind one seam" buys you.
Why "neutral" and "agent-safe" are the same bet
The two halves fit together. Agent-safe is what makes it responsible to hand an agent production. Neutral is what makes that worth doing for more than one vendor's worth of apps. A single-vendor agent surface just rebuilds that vendor's lock-in with a nicer prompt on top. You've automated yourself deeper into a cage. A neutral one means the agent's deploy skills transfer across whatever runs the compute, this year and next.
And the ceiling is higher than "ship to any cloud." Once deploying is a clean, safe, neutral surface, other products get built on it instead of around it. The control plane becomes infrastructure for other people's agents. You can only become that substrate if you're neutral. The vendor who owns the margin underneath can never be the layer everyone else builds on, for the same reason they can never be Switzerland.
That's the whole strategy in one line: don't compete with the clouds. Be the neutral layer they structurally can't build, that an agent can safely drive, that everyone else gets to build on top of.
- Ryan