Execute code, host web apps, and give AI agents a container

Execute code in a container that Runtime removes when the code finishes, keep a session open for an AI agent, or deploy a web app. Every container starts with the Conjoin SDK and your project credentials, so your code can call storage, databases, and the other Conjoin services right away.

Execute code, host agent sessions, and deploy apps from one service

On-demand code execution

The execute endpoint accepts code in any language that Runtime supports and returns its stdout, stderr, and exit code. Runtime starts a new container for each call and removes it after the call returns.

AI agent sessions

Start a session to give an AI agent a container of its own for up to 24 hours. Inside that container, the agent can write files, install packages, and execute one command after another.

Git-based app deployment

Once you connect a Git repository and choose a branch, Runtime detects the framework, builds the app, and serves it at a live URL. Runtime then scales the app with its traffic and issues a TLS certificate for any custom domain that you point at it.

SDK pre-injection

Runtime installs the Conjoin SDK in each container before your code starts. The SDK authenticates with the project credentials in the environment, so your code can query a database or upload a file from its first line.

Zero-config credentials

Because Runtime adds your project's credentials to each container's environment when the container starts, your source code, your Dockerfile, and your container image need no Conjoin API key.

Isolated containers

Runtime places every execution, session, and hosted app in a separate sandboxed container. Each workload can therefore read and write only its own files and memory.

Scale-to-zero hosting

When a hosted app goes idle, Runtime scales it down to zero instances, so Conjoin bills no compute for the app until Runtime starts an instance for the next request.

Framework detection

For each web framework on the list in the documentation, Runtime chooses the build command and the start script after it inspects the files in your project.

Session time limits

Choose a time limit between 5 minutes and 24 hours when you create a session. Runtime stops the container at that limit, including when an agent inside it is stuck in a loop.

Output streaming

Runtime streams stdout and stderr from executions and sessions over a WebSocket as your code writes them. You can tail the logs of a hosted app through the same API.

Hosted app logs

Runtime records the build logs, application logs, and error output of each hosted app, which you can filter by timestamp, severity, or deployment ID.

Multi-language support

Write your code in any language that Runtime supports with a built-in image. To add another language or a system package, point Runtime at a Dockerfile in your project.

< 500ms
Cold start time

From the execute API call to your code starting in its container

24h
Longest session

The highest time limit that you can set on a session

1,000+
Concurrent sessions

Sessions open at the same time in one project

Build faster with solutions designed for real-world needs

Execute the code that your AI model generates in a disposable container

Call the execute endpoint with the code that your AI model generates. Runtime executes that code in a new container with the Conjoin SDK installed and returns the output to your application. As soon as the code exits, Runtime destroys the container and gives the next request a fresh one.

Impact

You can add code execution to an AI feature with one call to the execute endpoint, because Runtime creates, isolates, and removes the container for each request.

Give an AI agent a development environment with a writable filesystem

Create a session with the filesystem enabled and a time limit of 4 hours. Inside it, the agent can edit code, add dependencies, and execute tests while Runtime streams the output to your application. When the agent finishes, end the session through the API, or let Runtime stop it at the 4-hour limit.

Impact

Runtime preserves the agent's files and installed packages between commands for up to 4 hours, so each step can build on the previous one. Your application only has to start the session and receive the output stream.

Execute webhook handlers and background tasks in a container per event

Send the webhook payload and your handler code to the execute endpoint. Runtime starts a container in under 500ms, executes the handler with the Conjoin SDK available, and returns the handler's response.

Impact

Runtime creates a container for each event and removes it when the handler returns, so the only code that you maintain is the handler itself.

Deploy a side project by pushing to a branch

Connect the side project's repository and pick its main branch. Runtime then serves the built app at a .conjoin.app URL and deploys a new version for every later push to that branch. Between visits, Runtime scales the app down to zero instances.

Impact

Runtime builds each version, obtains the TLS certificate for your custom domain, and scales the app with its traffic. Your part of each release is the Git push.

Common questions about Conjoin Runtime

Build your next app on Conjoin

Conjoin will open with a free Build tier, while the pricing page already lists the launch prices for Pro and Business. If you tell us what you're building, we'll talk you through early access.