KavelaKavela docs
Agent tools

Containers

Let an agent run code and build real websites, web apps, and online shops, with a live preview.

A container lets an agent run code and serve a live preview. This is how an agent builds real software: a website, a web app, or an online shop that you watch come together as it's built.

Containers are turned on per agent. They're metered by the hour. See Plans, pricing & limits.

Two ways to build a site

When an agent builds something visual, it picks one of two paths.

Instant artifact (no container)

For a site that only needs pages and styling, such as a landing page, a menu, a portfolio, or a brochure site, the agent builds an in-browser app that renders instantly in the panel. No container, no wait. This is the default for static and visual sites.

A real app in a container

When the site needs a server, the agent uses a container. You need a server when the site:

  • takes payments (Stripe),
  • has login or accounts (auth),
  • saves data or uses a database (Supabase), or
  • needs server APIs or webhooks.

The agent builds the app, starts a dev server, and exposes it at a live preview URL so you can see it as it fills in.

Why React Router, not Next.js

Container apps are built with React Router v7 on Vite. Vite's dev server is light and reliable behind the live preview. Next.js compiles routes on demand, which can peg the container and stall the preview. The container ships a ready React Router template, so the agent starts in seconds instead of installing from scratch.

Payments and data

Anything that uses a secret key runs on the server, never in the browser.

You connect your own Stripe and Supabase with a user connector. You paste your key into the secure connection panel, and it's injected into the container as a server environment variable. The agent reads it on the server only. Your key never ships to the browser, and it never appears in chat.

For payments, the agent builds a real Stripe Checkout flow. Customers pay on Stripe's hosted page, and the money goes straight to your own Stripe account. To go live, connect a live key; to test, use a Stripe test key and the test card.

Going to production

The live preview runs a fast dev server. When you publish, the agent builds the optimized version of the app and serves that instead.

Next

On this page