Why we picked AWS Fargate over WebContainers for an AI coding platform

WebContainers — the StackBlitz tech behind Bolt — boot in 2 seconds and feel magic. We picked the slower, heavier option (real Fargate containers) anyway. Here's why, and what it means for the kind of apps you can actually ship on the platform.

By Brian Boisjoli 4 min read architectureinfrastructurefargatewebcontainers

The fork in the road

When you're building an AI coding platform, one of the first big choices is where the code your agent writes actually runs. There are two ways to answer this, and they sit at opposite ends of a tradeoff:

The browser-side option is genuinely beautiful engineering. It's also the wrong default for our use case. Here's why we picked Fargate.

The architectural ceiling of WebContainers

WebContainers are a sandbox built on Web APIs. That's not a temporary limitation — it's the foundational tradeoff. Things that don't work, or work degraded:

For an AI agent platform specifically, two of these matter most:

  1. The agent might call native tooling. Run ffmpeg to process a user's uploaded video, run playwright for an end-to-end test, install a package that requires a native build. These are normal things real apps do. The agent should be able to do them too.
  2. The deployed app needs to keep responding when nobody has a tab open. This is the entire point of "deployment." If your hosting model fails on this, you don't have hosting — you have a preview.

What "real container" buys you

Fargate is just a managed way to run a Linux container. The Dockerfile is yours, the CPU is yours, the memory is yours, the disk is yours, the public network interface is yours. Everything that works in a normal Linux server works here. Specifically:

The cost we pay for picking real

Three things get harder:

We accept these costs because the upside is "your app is real" instead of "your app is a preview that happens to look real." That's the line we want VibeKit to be on.

Where WebContainers are still the right call

If you're optimizing for "show me what this React component looks like in 10 seconds with zero setup", WebContainers are unbeatable. The model fits perfectly for browser-tab prototyping. We're not saying StackBlitz made the wrong call — they made the right call for their use case.

The boundary is at "shipping vs prototyping":

VibeKit is built for the second. If you're migrating from Bolt because you hit one of WebContainer's ceilings, you're in the right place.

What this means for users

The concrete payoff:

We picked the slower, costlier, harder option because "this app is real" is more valuable than "this app boots in 2 seconds." If you weighted those differently, we'd have built a different product.

If you want to see how this plays out end-to-end, deploy something and watch the container lifecycle in the Health drawer. The 30-second cold start is real. So is everything that runs on top of it.

Try VibeKit
Every app gets its own AI agent. Free tier with BYOK.
Start Building →