Skip to content
pilots
Dashboard

A computer for every user

If your product builds or runs code for its users, each of them needs somewhere to do it. Pilots gives every user a computer of their own, and takes what they built from a prompt to production with nothing for them to configure.

Ready before your user notices

Nothing boots. A new computer is restored from one that was already running, so your user is working in it by the time the page has loaded.

468ms create, median on metal
302ms wake, median on metal
352ms wake of a real site through its public address, median, network removed

Measured on the production fleet. Hover any number to see where it came from.

A user who left holds nothing

Most of your users are away at any moment. Their computers sleep, use no compute, and are back the moment they return.

Sleep is a freeze and not a stop. The dev server that was running is still running, the files are where they were, and the address has not moved.

A request that arrives while a computer sleeps is held while it wakes. Your user sees their preview, never a waiting page.

The preview becomes the app

When a user wants to keep what they made, promote it. The computer they were previewing becomes their live app, at the address they already shared.

Nothing is rebuilt

There is no second system to copy the project into, so there is nothing to keep in step.

Their own domain

Put a user's own name in front of their app, with a certificate issued for it.

Undo for your users

A checkpoint before each change lets a user step back to any earlier moment.

One user cannot reach another

Every computer is a virtual machine with a kernel of its own. Code one user wrote, or an agent wrote for them, runs behind that wall.

The key you hand to an agent or a user can be narrowed when you make it, and the platform enforces every limit. A refusal says which limit was hit.

A name prefix
Every computer the key names must start with it.
A cap
How many computers with that prefix may exist at once.
An expiry
When the key stops working, checked on every request.

A few lines in your own code

Create a computer, run something in it, and hand your user its address.

one computer per user
import { PilotsClient } from '@pilots/sdk'

const pilots = new PilotsClient(process.env.PILOT_API_KEY)

// one computer for this user, with an address of its own
const machine = await pilots.machines.create({ name: 'user-' + user.id })

await pilots.machines.exec(machine.id, { cmd: 'npm install' })
await pilots.machines.checkpoint(machine.id, { comment: 'ready' })

console.log(machine.url)

Clients for JavaScript and Go are published, and everything they do is an HTTP call you can make yourself.

Where Pilots stands today

You would find these out anyway, so here they are.

  • Every computer runs in one European region.
  • Computers have no graphics processors.
  • Access is by invitation.

Everything we operate, and what we do not →


Read what Pilots is, or see how it compares.