Plain JS

Every demo below is one file, zero dependencies, no build step. Save any of them to your desktop, open it, it works. These are the APIs your browser has been carrying around the whole time.

๐Ÿ“ท Camera

Live camera feed into a <video>, snapshots onto a canvas, filters in CSS, downloads via <a download>.

getUserMedia canvas 2D

๐Ÿ›ฐ๏ธ Geolocation

Where are you? One call. Watch mode streams updates and tallies distance with six lines of trigonometry.

navigator.geolocation

๐Ÿ—ฃ๏ธ Speech Synthesis

Every OS voice on the machine, in every installed language. No API key, no cloud, works offline.

speechSynthesis

๐Ÿ‘‚ Speech Recognition

Live transcription with interim results โ€” and a page that repaints itself when you say a CSS color name.

SpeechRecognition

๐ŸŽจ Paint

A drawing app where a stylus's pressure changes the stroke. Mouse, touch, and pen through one event model.

pointer events canvas 2D

๐ŸงŠ 3D Cube

Raw WebGL โ€” shaders, a vertex buffer, a draw call. The stuff Three.js is made of, in ~120 readable lines.

WebGL

๐ŸŽ›๏ธ Audio Visualizer

Microphone โ†’ FFT โ†’ canvas, sixty times a second. The audio-visualizer web component, unwrapped.

Web Audio AnalyserNode

๐ŸŽน Web MIDI

Plug in a MIDI keyboard: raw 3-byte protocol messages light an on-screen piano and drive a Web Audio synth.

requestMIDIAccess

๐ŸŽฎ Gamepad

Xbox/PlayStation controller โ†’ live sticks, analog triggers, buttons โ€” and a rumble test. Works in every browser.

getGamepads

๐Ÿ’™ Web Bluetooth

Connect a heart-rate strap over BLE and watch your pulse beat a CSS heart at your actual rate.

navigator.bluetooth GATT

๐Ÿ”Œ Web Serial

A two-way byte stream to an Arduino or any USB-serial device, with the 12-line sketch to pair with it.

navigator.serial

๐Ÿ“ก Barcode Scanner

Point the camera at any QR code or barcode โ€” the browser's built-in detector reads it live and boxes it on screen.

BarcodeDetector
The honest fine print: camera, mic, and location demos need HTTPS (or localhost) and your permission โ€” the platform makes sites ask, which is a feature. Speech recognition hasn't landed in Firefox yet; that demo feature-detects and says so. Frameworks are for when apps get big โ€” none of these are big.