Every pull request gets a live link.
A running copy of your app for each PR, posted on the PR and deleted when it closes. Available through the CLI, SDKs and API.
Snapshot your app
Install and start your app on one machine, then snapshot it. Refresh the snapshot on every push to main.
Open a PR, get a machine
Your CI starts a machine from the snapshot, checks out the branch and posts the URL on the PR. The app is already running when it wakes.
Previews sleep when not in use
An idle preview hibernates on its own and costs disk only. Open the link and it wakes in milliseconds, so you can keep hundreds of them around.
Also in every machine
Private repos
Connect GitHub and previews fetch private branches.
Agent PRs
Check what an agent built by opening a link.
Its own database
Seed it in the snapshot. Each preview gets a copy, and writes stay in that preview.
Shell in
SSH into the exact environment the reviewer is looking at.
Your own domain
Serve previews on your own domain instead of *.boxd.sh.
Secrets
Sealed env vars in every preview.
SDKs
Script it all from Python or TypeScript.
Self-host
Run boxd in your own cloud or datacenter.