Open Source Β· Distributed Β· Browser-Native

The Global
Browser Supercomputer

Like Vast.ai β€” but for CPU and RAM.

Open a tab, join the grid. Submit jobs, distribute computation across thousands of browsers worldwide. Zero install. Full sandbox.

Web Workers for sandboxed computeWASM for native-speed tasksExa for data sourcing

How It Works

Three steps from browser tab to global supercomputer

1

Join

Open /join in any browser. Your CPU and RAM become a compute node. Web Workers execute tasks β€” zero install.

2

Submit

Write a JS function or upload WASM. Submit input data via/jobs. The orchestrator splits work across nodes.

3

Compute

Tasks execute in parallel across browsers. Results aggregate automatically. 100 tabs = 100Γ— parallelism. No servers, no VMs, just tabs.

Architecture

Serverless orchestration with browser-native compute


 β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚  Browser A   β”‚     β”‚  Browser B   β”‚     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
 β”‚  /join       β”‚     β”‚  /join       β”‚     β”‚   Submitter  β”‚
 β”‚  (Worker)    β”‚     β”‚  (Worker)    β”‚     β”‚   /jobs      β”‚
 β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚    WebSocket (WSS)    β”‚                    β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                   β”‚
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚  API Gateway WS   β”‚
         β”‚  (Route on type)  β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό          β–Ό          β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚ connect β”‚ β”‚registerβ”‚ β”‚submit-jobβ”‚  ... 7 Lambdas
   β”‚disconnectβ”‚ β”‚heartbeatβ”‚ β”‚dispatch β”‚
   β”‚         β”‚ β”‚        β”‚ β”‚aggregate β”‚
   β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”¬β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”˜
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                  β–Ό
         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
         β”‚   DynamoDB     β”‚
         β”‚ connections    β”‚
         β”‚ nodes          β”‚
         β”‚ jobs Β· tasks   β”‚
         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Security Model

Defense in depth β€” untrusted code can't escape

πŸ”’ Web Worker Sandbox

  • βœ“ Separate thread, no DOM access
  • βœ“ Blocked: fetch, XMLHttpRequest, WebSocket
  • βœ“ Blocked: importScripts, Worker, navigator
  • βœ“ Blocked: localStorage, indexedDB, document
  • βœ“ Timeout enforcement kills runaway code

πŸ›‘οΈ Frozen Scope

  • βœ“ Only safe globals exposed (Math, JSON, Array...)
  • βœ“ Object.freeze() prevents scope mutation
  • βœ“ WASM: no host function imports
  • βœ“ WASM binaries capped at 10MB
  • βœ“ Future: v86 Linux VM for full isolation

AWS Lambda Β· DynamoDB Β· API Gateway Β Β·Β Vercel Next.js 15 Β Β·Β Exa AI Search Β Β·Β Web Workers + WASM