Run AI code in the browser
No servers, no cloud.

Strapkit is a Node runtime compiled to WebAssembly. Spin up sandboxes on-device — boot in milliseconds, run untrusted code safely, and ship without paying for VMs that sit idle.

App.jsx
Preview
Booting runtime...

The runtime moves to the user.
Everything else follows.

$ node ./untrusted.js
› sandboxed in WASM

Untrusted code, safely.

Every sandbox runs in an isolated WASM instance with zero network access by default. User-submitted scripts never touch your infrastructure.

$0.00
$0.01

Per instance. Not per second.

$0.01 per sandbox — no matter how long it runs. No idle charges, no metered compute, just a flat fee when a session starts.

Unlimited concurrent sandboxes.

Spawn one. Spawn ten thousand. Your cost stays the same because the compute is on your user's machine, not yours.

gitnodenpmnpxvilscatgrepsedfindtarwgetsortwcxargscpmvrmmkdirchmodtouchheadtailstatenvshdubasenamecutln

Batteries included.

Git, cat, vi, sed, grep, and 50+ coreutils — all compiled to WASM and ready to run in the browser.

Write Node. Ship a URL.

Strapkit runs a full Node.js environment right in the browser. Write files, install packages, start servers — everything runs on the user's device, not yours.

shellExec runs commands and streams output to a terminal. Get back the exit code, or let users watch it live.
Start a server inside the runtime and preview it in an iframe the moment the port opens — no polling, no manual URL copying.
Cache installed packages across page reloads. The first visit installs, every visit after restores in milliseconds.
1import Strapkit from "@strapkit/core"
2
3const sk = new Strapkit({ apiKey: "sk_..." })
4await sk.init()
5
6// write files to the in-memory filesystem
7await sk.write("/app/index.js", code)
8
9// run any shell command — output goes to the terminal
10sk.shellExec("cd /app && npm install")
11sk.shellExec("npm run dev")
12
13// open a preview when the dev server binds
14sk.onPortOpen((port) => {
15 if (port === 3000)
16 sk.showPreview(port, "preview")
17})

Built for every use case.

From AI agents to offline apps — anywhere you need a runtime without a server.

AI code execution

Let LLM agents run and verify code in a sealed VM. Every user gets their own runtime — you never pay for it.

Interactive docs

Ship live, runnable snippets inside your documentation. Every reader gets a real Node environment.

User-scripting

Let customers extend your app with JavaScript. Execute their code without spinning up a single container.

Build & bundle

Run Vite, esbuild, and tsc in the browser. Offer a full dev environment from a single <script> tag.

Offline-first apps

Keep business logic on-device. Sync when connected, compute when not.

Teaching & sandboxes

Every student, every exercise, its own Node process — no backend to scale or secure.

Your users run the compute.
You keep the margin.

When the runtime executes on-device, there are no servers to provision, no hourly bills, and no concurrency caps.

StrapkitE2BDaytonaModal
Runs on-device
Price$0.01$0.16/hr$0.16/hr$0.24/hr
Idle cost$0billed hourlybilled hourlybilled hourly
ConcurrencyUnlimitedQuotaQuotaQuota
Cold start~200ms~300ms~300ms~5s
Server previewIn-page iframeExternal URLExternal URLExternal URL

Run Node anywhere.Starting with everywhere.

Four lines of code and your app has a full Node runtime. No servers, no vendors, no per-execution bill.

Star on GitHub