What ox does for you.

Nine things ox takes care of, all on a server you own, so you can keep writing the app.

01

Push to deploy, with no downtime.

Each push is built and health-checked before traffic switches over, and the release before it stays kept for an instant rollback.

A push going live A commit moves through push, build, check and switch. The live marker then moves from release 41 to release 42, and release 41 stays kept for rollback. pushbuildcheckswitch release 41kept for undo release 42passed its check live

02

Any stack, detected.

Node, Python, Go, Rust, PHP or a static site: ox reads your repo and needs no config, and one small ox.toml takes over when you want control.

Repo files turned into a plan Four project files, package.json, pyproject.toml, go.mod and Cargo.toml, are read one at a time, and a detected plan card shows the runtime, build and start command for each, with no ox.toml needed. package.jsonpyproject.tomlgo.modCargo.toml Detected plan runtimebuildstart Node.jsnpm run buildnpm start Pythonuv syncgunicorn app Gogo build./app Rustcargo build./app no ox.toml needed

03

On a server you own.

Use any cloud or VPS and pay your cloud company as you would anyway; ox adds only a small agent that dials out, with no port opened.

ox and your server ox Cloud on the left, your server on the right. The small ox agent on your server dials out to ox over one encrypted line, and no port is opened on the server. ox Cloud dials out no open port agent your server

04

Staging and previews, in one project.

Switch between production, staging and a preview for each pushed branch, open it from the pull request, and promote staging to production in one step.

Branches becoming environments The main, staging and new-login branches each get their own environment with a web address: production at myapp.com, staging at staging.myapp.com, and a preview for new-login. Staging is then promoted to production. mainstaging new-login Productionmyapp.com Stagingstaging.myapp.com Preview: new-loginmyapp-new-login.example.dev promote

05

Services, set up for you.

The databases and stores your app declares are created, connected and backed up every day, shared or private, and any backup restores in one step.

Services snapping into place Your app connects to three services it declared, one shared, one private and one custom, and a clock marks the daily backup that each can be restored from. your app sharedprivatecustom daily backup restore any day

06

Look into your data.

Browse tables, keys and collections and run read-only queries from the console; the data is read on your server and never stored by ox.

Browsing a table A table of rows in the Browse tab, marked read-only, with a highlight moving down the rows as they are read. Browse Query read-only idnameupdated

07

Variables with history and undo.

Edit one table or paste a .env, see the diff, then save and deploy now or later; values stay hidden, and any of the last 20 versions comes back.

Changing a variable, then undoing it A table of variables with hidden values. A new variable is added and shows as one change to save, then an undo brings back the earlier version. Variables +1 to save back to v19 DATABASE_URLSECRET_KEYSTRIPE_KEYAPP_ENV •••••••••••••••••••••••••••••••••••••••••••••••• MAIL_FROM••••••••••••

08

Alerts, uptime and webhooks.

Your site is checked every minute, an email tells you about failures and high CPU, memory or disk, and signed webhooks reach your own tools.

A spike becoming an alert An uptime badge checked every minute above a memory chart. The line spikes past the limit, an alert card says memory is high and that you were emailed, and a signed event travels to your own tools. up · checked every minute limit Memory high emailed you signed your tools

09

A CLI for you and your AI.

Everything in the console is one ox command with --json, and a skill you paste into your coding agent teaches it the rest.

Deploying from the terminal A terminal runs ox deploy my-app --wait. Lines stream in: built, health check passed, switched with no requests dropped, then live at myapp.com. ~/my-app $ ox deploy my-app --wait → built in 38s → health check passed → switched, 0 requests dropped live at myapp.com # every command takes --json

ox minds the server.
You build the app.

Put your next app on a server you own.

Free during the beta.