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.

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.

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.

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

Also searched as

  • web worker playground online
  • cache storage api strategies stale while revalidate demo
  • webrtc loopback ice candidates test
  • server-sent events tester online
  • webassembly exports explorer
  • broadcastchannel cross tab messaging demo
  • web locks api example
  • service worker lifecycle explained step by step
  • simulate push notification in browser
  • cache first vs network first demo

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.

How do I test Server-Sent Events from the browser?

Open the Server-Sent Events tab and connect to an SSE endpoint, for example from a local dev server, to watch events arrive. The endpoint must allow cross-origin access.

Is this using real browser APIs or a simulation?

Mostly real: actual Web Workers, the real CacheStorage API, real RTCPeerConnections and EventSource. The Service Worker lifecycle tab is a guided walkthrough and the Push API tab sends a simulated push, since there is no real push server.

How can I compare caching strategies?

The Cache Storage tab exercises Cache First, Network First and Stale-While-Revalidate against a real fetch.

Can I send messages between browser tabs?

Yes, the Broadcast & Locks tab uses BroadcastChannel for cross-tab messaging and also lets you try the Web Locks API.

Can I inspect a WebAssembly module?

The WebAssembly tab lets you explore a module's exports and call them.