Web Platform Playground

Web Platform Playground

Real execution against browser platform APIs — spawn a real Web Worker and message it, exercise Cache Storage strategies (Cache First, Network First, Stale-While-Revalidate) with the real CacheStorage API, run a local WebRTC loopback with live ICE candidates, connect to a Server-Sent Events endpoint, explore a WebAssembly module's exports, and try BroadcastChannel cross-tab messaging plus the Web Locks API.

Your code actually runs in a real Worker spawned from a Blob URL (same trust model as the JS REPL tool — client-side only, your own input). Use postMessage(...) inside the worker to send data back to the main thread — console.log inside a worker won't appear here. Message log is capped at 200 entries.

Example:
Main thread UI

For the Fibonacci example, send a small integer (e.g. 30) and watch it compute without freezing the pulsing dot above.

No messages yet — start the worker and send a message.

Web Platform Playground

Real execution against browser platform APIs — spawn a real Web Worker and message it, exercise Cache Storage strategies (Cache First, Network First, Stale-While-Revalidate) with the real CacheStorage API, run a local WebRTC loopback with live ICE candidates, connect to a Server-Sent Events endpoint, explore a WebAssembly module's exports, and try BroadcastChannel cross-tab messaging plus the Web Locks API.

Common uses

  • Spawn a Web Worker that computes Fibonacci without blocking the UI
  • Compare Cache First vs Stale-While-Revalidate against a real fetch
  • Watch two local RTCPeerConnections exchange ICE candidates and connect
  • Listen to a local dev server's Server-Sent Events endpoint
  • Load a tiny WebAssembly module and call its exported add() function
  • Send a BroadcastChannel message between two open browser tabs

Frequently asked questions

Is my data uploaded to a server?

Partially — see the note on each tab. WebRTC contacts a public STUN server for its loopback demo; Cache Storage and SSE let you point at any URL you choose. The Web Worker, WebAssembly, and Broadcast Channel/Locks tabs are fully local.