How it works
What happens in the thirty seconds between the command and the link.
Detect
The command reads the files in the folder and infers the whole plan without asking a question: the package manager from the lockfile, the framework from its config file, the database from the ORM schema or the driver in package.json, the settings the code reads from the environment, scheduled jobs, file uploads, and whether the app already has its own login (which the platform can replace).
Every inference is recorded with the evidence behind it, so your AI can see why and correct a wrong guess by editing deploy.json.
Build
The source is packed (respecting .gitignore, never including .env files) and uploaded. A build service turns it into a container image using a shared cache, so the second build of any Next.js app is fast.
Migrate
If the app has a database, its own migration command runs against a Postgres database that belongs only to this app. Before any migration a snapshot is taken, so a bad change can be undone.
Provision
Whatever the plan needs is created: the function that runs the app, its database and role, a storage prefix, scheduled jobs, and an address.
Route and go live
The new version is checked with a real request. Only when it answers does the address switch to it. The previous version stays around; going back is instant.
Private from the first second
The address is never public. Requests without the right cookie are rejected at the edge, before the app runs, so a stranger who guesses the address gets nothing and costs you nothing. Opening the link on your device sets that cookie. Keeping the app turns "this device" into "these people".
What it costs to keep an idle app alive
About one cent a month. That is why a real free tier exists, and why your apps can sleep without you paying for the sleep.