Skip to content

Commit dc77dc6

Browse files
committed
initial tweaking (needs extra review)
- removed syscalls page
1 parent 604d3fa commit dc77dc6

File tree

7 files changed

+68
-59
lines changed

7 files changed

+68
-59
lines changed

sites/browserpod/src/content/docs/00-overview.mdx

Lines changed: 24 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: BrowserPod
33
shortTitle: Overview
4-
description: Run sandboxed backend services directly in a client browser's tab.
4+
description: A universal execution layer for running code safely in the browser
55
---
66

77
import LinkButton from "@leaningtech/astro-theme/components/LinkButton.astro";
@@ -29,8 +29,8 @@ import { DISCORD_URL } from "@/consts.ts";
2929
</a>
3030
</div>
3131

32-
**BrowserPod** is a **sandbox API**. It provides in-browser runtimes for common backend languages, libraries and frameworks.
33-
Instead of provisioning a cloud server, BrowserPod's API enables a client browser to host full runtimes compiled to WebAssembly (Wasm), running at native speed.
32+
**BrowserPod** is a universal execution layer for browser-based compute, providing a sandboxed runtime API for running full-stack workloads directly inside the browser.
33+
Instead of provisioning a cloud server, BrowserPod's API enables a client browser to host full runtimes compiled to WebAssembly (Wasm), running at near native speed.
3434

3535
<div class="m-4 flex justify-center">
3636
[Get started](/docs/getting-started/quickstart) · [Basic
@@ -43,40 +43,42 @@ BrowserPod is ephemeral by design. Each **pod** (_see [pod](/docs/more/glossary#
4343

4444
At a high level, BrowserPod gives you:
4545

46-
- A **backend runtime** running in the browser (e.g., Node.js, Python, Ruby)
47-
- A **Linux‑like virtual filesystem** for files and folders
48-
- **Portals** that can expose local servers at public URLs
46+
- A **sandboxed runtime** for executing untrusted code in the browser (starting with Node.js, with Python, Ruby, Go, and Rust coming soon)
47+
- A block-based streaming virtual filesystem with familiar file and directory behavior
48+
- **Process isolation** and true concurrency via WebWorkers
49+
- **Portals** for controlled networking that expose services at shareable URLs
4950

50-
Everything runs client‑side within the browser sandbox, so users don’t need to install anything.
51+
Everything runs client‑side within the browser sandbox, with no backend infrastructure required.
5152

5253
## What you can do with BrowserPod
5354

54-
- **Execute AI code safely**: Execute untrusted or user‑provided code in a contained environment for AI agents or automation flows.
55-
- **Live product demos**: Ship a demo that runs the real backend logic in the browser without backend provisioning.
56-
- **Interactive docs and tutorials**: Let users run actual servers, seed data, and see real responses while following along.
57-
- **Collaborative tools**: Build multi‑user apps like whiteboards, editors, or chat that run locally and sync via portals.
58-
- **Browser‑based _server_ functions**: Run tasks that usually need cloud provisioning—like HTTP APIs, background jobs, or file processing entirely inside the user’s browser.
55+
- **Execute AI-generated code safely**: Run code produced by AI agents or models in a contained environment next to the user, with fast startup, strong isolation, and better performance than cloud-based sandboxes. Reduce per-session costs while tightening security boundaries.
56+
- **Build web-based IDEs and development environments**: Power real development workflows in the browser with package installs, dev servers, build tools, and previews—all with high fidelity to native environments.
57+
- **Create interactive documentation and live demos**: Turn documentation into runnable environments where users can modify, execute, and share examples without leaving the page or provisioning infrastructure.
58+
- **Enable education at scale**: Provide high-fidelity learning environments with minimal operational overhead. Eliminate per-student sandbox costs to make hands-on education economically feasible at scale.
59+
- **Process sensitive data locally**: Keep user inputs and outputs in the browser by default, enabling privacy-first applications and removing jurisdictional risks associated with cloud data transfer.
5960

6061
## Why pick the BrowserPod API?
6162

62-
- **Full-stack development**: BrowserPod runs full instances of backend frameworks enabling full-stack development without cloud provisioning.
63-
- **Real filesystem**: Create directories and files inside a virtual POSIX‑like tree.
64-
- **Portal URLs**: BrowserPod Portals allow to share working applications over a temporary, private and secure URL.
65-
- **Security**: The BrowserPod API boots instances in the browser's sandbox, inheriting its security.
66-
- **Cost**: Because BrowserPod runs instances in the browser, it comes at a fraction of the cost of cloud sandboxes, with a generous free tier.
63+
- **Economics**: BrowserPod runs on the user's device, eliminating per-session cloud infrastructure costs. This fundamental shift makes previously expensive use cases—like AI code execution, interactive demos, and education at scale—economically viable.
64+
- **Latency**: No cold starts, no network round trips to remote sandboxes. Code executes immediately in the browser where the user already is.
65+
- **Security & data locality**: BrowserPod inherits the browser's battle-tested security model. User data and code execution stay local by default, reducing your attack surface and compliance burden.
66+
- **High fidelity**: Full Linux-compliant environment with POSIX filesystem, process isolation, and real concurrency—not a limited simulation. Run actual frameworks and tools without modification.
67+
- **Portals**: Share working applications instantly via secure, temporary URLs. Enable live previews, collaborative troubleshooting, and interactive demos without standing up dedicated infrastructure.
6768

6869
## How it works (high level)
6970

70-
- BrowserPod ships a build of Node.js that targets CheerpOS (a runtime that provides a Linux‑like syscall interface to Wasm).
71-
- The browser’s JavaScript engine executes the Node runtime in the page.
72-
- Your project files live in a virtual filesystem inside the pod.
73-
- When your app listens on a port, BrowserPod can open a portal URL that forwards traffic into the pod.
71+
- BrowserPod provides complete runtime engines (starting with Node.js) compiled to WebAssembly, targeting a Linux-compliant syscall interface.
72+
- The browser's JavaScript engine executes the runtime with near-native performance, supporting real multi-process workloads.
73+
- A virtual filesystem provides full POSIX compatibility, with on-demand streaming of disk images. Changes stay local and can persist across sessions.
74+
- When your code listens on a port, BrowserPod automatically creates a Portal—a secure URL that routes external traffic to the service running inside the browser.
75+
- All execution happens within the browser's security sandbox, isolated from the user's operating system.
7476

7577
See the [hosting guide](/docs/guides/hosting) for details on headers and setup.
7678

7779
## Supported runtimes
7880

79-
BrowserPod currently supports Node.js runtime, support for Python and Ruby is coming soon.
81+
BrowserPod currently supports Node.js. Python, Ruby, Go, and Rust support will be released throughout 2026. By the end of 2026, BrowserPod will support Linux-class workloads, enabling any Linux container to run in the browser.
8082

8183
## Community and support
8284

sites/browserpod/src/content/docs/10-getting-started/01-quickstart.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ title: Quickstart
33
description: Getting started with BrowserPod
44
---
55

6+
BrowserPod provides a sandboxed runtime for executing code safely in the browser. This quickstart will get you running your first BrowserPod application in minutes.
7+
68
## 1. Register a free account
79

810
In order to use BrowserPod, you need to obtain an API key.

sites/browserpod/src/content/docs/10-getting-started/02-expressjs.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ title: Set up a basic NPM-based project
33
description: In this tutorial you will set up a simple NPM project that runs an HTTP server using Express.js
44
---
55

6-
During this tutorial we will set up a basic project that uses BrowserPod to run
7-
a web server application entirely client side in the Browser.
6+
In this tutorial, we'll set up a basic project that uses BrowserPod to run a web server application entirely in the browser, with no backend infrastructure.
87

98
## 1. Get the code
109

sites/browserpod/src/content/docs/11-understanding-browserpod/04-syscalls.md

Lines changed: 0 additions & 29 deletions
This file was deleted.

sites/browserpod/src/content/docs/11-understanding-browserpod/06-portals.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,19 @@ title: Portals
33
description: How Portals expose Pod servers to the outside world
44
---
55

6-
A **Portal** is BrowserPod’s way of exposing a server running inside a Pod to the outside world.
6+
A **Portal** is BrowserPod's controlled networking feature that exposes services running inside a Pod through secure, shareable URLs.
77

8-
When code inside the Pod starts listening on a port, BrowserPod creates a public URL that forwards traffic to that internal server.
8+
When code inside the Pod starts listening on a port, BrowserPod automatically creates a public URL that forwards traffic to that internal server. This unlocks powerful use cases that would traditionally require provisioning dedicated backend infrastructure for each session.
9+
10+
## What Portals enable
11+
12+
Portals unlock use cases that typically require backend infrastructure:
13+
14+
- **Live previews**: Run a dev server in the browser and share the preview URL with teammates or stakeholders. Changes update in real-time without deploying to staging environments.
15+
- **Interactive demos**: Let users interact with working applications directly in documentation or product tours, without standing up demo infrastructure.
16+
- **Collaborative workflows**: Enable pair programming, troubleshooting sessions, or live code reviews by sharing a running environment via a simple URL.
17+
- **Shareable environments**: Create "click-to-open" demos where anyone with the link can access a fully functional application running in someone else's browser.
18+
- **Testing across devices**: Scan a QR code on your phone to test the server running on your laptop's browser, with changes reflected instantly.
919

1020
## What a Portal is
1121

sites/browserpod/src/content/docs/14-more/00-glossary.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ The server-side part of a system that runs outside the browser.
99

1010
## BrowserPod API
1111

12-
The set of methods (like `pod.run` and file APIs) used to control the pod. New processes are started through the API, not by typing in the terminal.
12+
The JavaScript API for controlling a Pod. Provides methods for booting pods, running processes (`pod.run`), managing the virtual filesystem, and handling Portals. Used to execute code and manage the runtime environment entirely within the browser.
1313

1414
## CheerpOS
1515

@@ -29,11 +29,11 @@ A filesystem created and managed in software rather than on the user’s real di
2929

3030
## Pod
3131

32-
A running BrowserPod instance
32+
A running BrowserPod instance. Each Pod provides a sandboxed runtime environment with its own virtual filesystem, process space, and network layer. Pods run entirely in the browser and are ephemeral by design—they exist only while the browser tab is active.
3333

3434
## Portal
3535

36-
A public URL that forwards external traffic to a port inside the pod.
36+
A secure, shareable URL that routes external traffic to a service listening on a port inside the Pod. Portals are created automatically when code binds to a port, enabling features like live previews, interactive demos, and collaborative workflows without requiring dedicated backend infrastructure.
3737

3838
## REPL
3939

sites/browserpod/src/content/docs/14-more/01-FAQ.md

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Common questions about BrowserPod
55

66
## What is BrowserPod?
77

8-
BrowserPod runs real Node.js applications inside the browser using WebAssembly. It provides a virtual filesystem and a portal system to expose local servers via public URLs.
8+
BrowserPod is a universal execution layer for browser-based compute. It provides a sandboxed runtime API for running untrusted code—including AI-generated code, user scripts, or agent-assembled programs—safely inside the browser using WebAssembly. It includes a Linux-compliant environment with a virtual filesystem, process isolation, and Portals for controlled networking.
99

1010
## Do I need a backend server?
1111

@@ -26,3 +26,28 @@ Not directly. Use Wasm-compatible alternatives or `package.json` overrides when
2626
## Which browsers are supported?
2727

2828
All the major browsers on desktop and mobile (Chrome, Edge, Firefox, Safari) are supported.
29+
30+
## Is BrowserPod good for AI-generated code?
31+
32+
Yes. BrowserPod is specifically designed for executing untrusted code, including code generated by AI models or agents. It provides strong isolation through the browser's security sandbox, keeping execution local to the user's device while maintaining high fidelity with native environments.
33+
34+
## How does BrowserPod compare to cloud sandboxes?
35+
36+
BrowserPod runs on the user's device rather than provisioning cloud infrastructure for each session. This means:
37+
38+
- **Lower cost**: No per-session VM costs. Computation uses underutilized client resources.
39+
- **Lower latency**: No cold starts or network round trips to remote servers.
40+
- **Better data locality**: User inputs and code execution stay in the browser by default, reducing your attack surface and compliance requirements.
41+
- **High fidelity**: Full Linux-compliant environment, not a limited simulation.
42+
43+
## Is my data secure in BrowserPod?
44+
45+
Yes. BrowserPod runs entirely within the browser's security sandbox, which is battle-tested and continuously hardened by browser vendors. Code running in a Pod cannot access the user's operating system, local files (unless explicitly provided), or other browser tabs. Data stays on the user's device by default unless your application specifically transmits it elsewhere.
46+
47+
## What is the performance like?
48+
49+
BrowserPod uses WebAssembly to run runtime engines at near-native speed. It supports real multi-process workloads with true concurrency via WebWorkers. Performance is suitable for computationally heavy tasks, including development tools, build pipelines, and AI code execution.
50+
51+
## What are Portals?
52+
53+
Portals are BrowserPod's controlled networking feature. When code inside a Pod listens on a port, BrowserPod automatically creates a secure, shareable URL that routes traffic to that service. This enables live previews, interactive demos, and collaborative workflows without provisioning dedicated backend infrastructure.

0 commit comments

Comments
 (0)