Skip to content
pilots
Dashboard

Pilots vs Modal, Infrastructure as Python or a Computer With a URL

Modal declares compute in Python. Pilots runs whole apps in machines that remember.


Modal and Pilots are compared because both run sandboxes and both scale an idle app to zero. They are built for different work. Modal is for compute, meaning inference, training and batch jobs declared in Python, with GPUs when the job needs them. Pilots is for computers. A sandbox is a small one that can do anything a computer can, and a production service is the same machine kept online.

Everything said about Modal here was read from its own documentation in September 2026, and links to the page it came from.

What the two agree on

  • Nothing runs when nothing is needed. Both scale a deployed app to zero by default and bill for what ran.
  • Sandboxes for untrusted code. Both give code you do not trust an isolated place to run.
  • A web endpoint is one step. Both put code behind an HTTPS address without a load balancer to configure.
  • Configuration lives with the code. Modal declares it in Python. Pilots reads a compose file or detects the framework.

The unit you deploy

On Modal the unit is a function. You write Python, decorate it, and build its image by chaining Python calls or from a Dockerfile. The JavaScript and Go SDKs can call those functions and run sandboxes, but a function is defined in Python.

On Pilots the unit is a machine running whatever you would run on a server, such as a Node app, a Rails app, a Go binary or a Postgres. pilot deploy detects the framework in a directory, or uses your Dockerfile or compose file, and there is no SDK to adopt.

The isolation underneath

Modal runs containers under gVisor, and those containers are what Modal orchestrates. A sandbox can opt in to a full virtual machine, which Modal marks as beta.

Pilots orchestrates microVMs. Every machine, sandbox or service, runs with a kernel of its own, and that is the only mode.

What scaling to zero keeps

When a Modal function has been idle for a while, its container shuts down, and the next call starts a new one. Modal offers memory snapshots to shorten that start.

A Modal sandbox has a maximum lifetime of twenty-four hours, and five minutes by default. Past that, Modal recommends a filesystem snapshot restored into a new sandbox. Modal also has memory snapshots for sandboxes, marked alpha, which restore into a new sandbox.

A Pilots machine that goes quiet is frozen with its memory and its processes, and thawed on the next request at the same URL. There is no lifetime ceiling. A sandbox you left last week is the same sandbox today.

From sandbox to production

On Modal a sandbox and a deployed function are separate things, created through separate parts of the SDK.

On Pilots a sandbox and a production service are the same machine, driven by one CLI. pilot promote turns a sandbox running your image into a service in one call, with nothing rebuilt and the URL unchanged.

A computer, not a function

A Pilots sandbox is a small computer, and what it is for is whatever a computer is for. It runs Linux with a kernel of its own and root access, and it has no function signature to fit into.

A fleet of them can each open a real browser, use your product the way a person would and report what broke, while the product is measured under all of them at once. An agent can work in one with its permission prompts off, because code that is unsafe to run on your laptop is safe to run on a machine you will destroy afterwards.

What Pilots is built for

  • You want a computer for the job and not a function, with root and a browser if the job needs one.
  • You are hosting an application, in any language, that should be reachable at one permanent address.
  • You want your own domain in front of the app on any plan. On Modal custom domains need the Team plan or above.
  • You want a sandbox that lasts as long as the work does, and keeps its running processes across sleep.
  • You want one command between the sandbox and production.
  • You want storage that behaves like a disk. Modal's volumes are tuned for writing once and reading many times, which suits model weights more than a database.

An app on Pilots can call a model served anywhere, over HTTPS, like any other API.

Questions people ask

Does Modal use containers or virtual machines?

Containers, under gVisor. A Modal sandbox can opt in to a virtual machine, in beta. Pilots runs sandboxes and services alike as microVMs.

Does Pilots support GPUs like Modal?

No. Pilots machines are CPU only. An app on Pilots calls a model the way it calls any other API.

Can I host a web app on Modal?

Yes. A deployed Modal function, defined in Python, can serve a web app at a stable address. Pilots hosts an app in any language with no SDK in it.

How long can a sandbox run on Modal and on Pilots?

Up to twenty-four hours on Modal, and with no limit on Pilots. A Pilots machine suspends when idle and resumes at the same address.


Every comparison, or install the CLI and hold Pilots against your own app.