Brushes
drawing.js:38Marker · Neon · Velocity · Rainbow · Mono · Sparks — six distinct render behaviours
Marker, Neon, Velocity, Rainbow, Mono, Sparks — six behaviours, not six colours of one pen.
drawing.js:38Drop the Marker's opacity and it becomes a highlighter — for notes, screenshots, lessons.
brush-panel.js:108Six palettes that agree with each other; an HSV wheel behind them stores any hex.
drawing.js:12Strokes live in world coordinates — the screen is only a window. Pinch three fingers to pan, thumb + middle to zoom.
viewport.jsDraw it rough, hold still, and it becomes exact — eight families, from a line to a rectangle.
shape-fit.js:398Grab a finished line and bend it. Rope keeps its length; rubber stretches.
sculpt.js:68Open your pinch wider and the eraser grows with it — then sweeps clean.
main.js:3658Three fingers open the session menu; Undo takes the last stroke back. Ctrl/Cmd+Z does it from a keyboard.
file-menu.js:16Your camera, frosted or clear; 13 solid colours, 6 gradients, 5 that move — and grain over any colour.
file-menu.js:26A note that rides over the canvas — six colours, dragged by its grip, resized from its corner.
notepad.js:162Point to aim, pinch to choose — the brush panel blooms from your hand and is operated bare-handed.
brush-panel.js:1221Six guided steps with the app's own demos, checked live against your camera — a skip appears after 30 s of struggle.
gesture-guide.js:322One open hand for two seconds, one pinch for one — every threshold is placed inside your own measured gap.
calibration.js:90A pinch latch bridges the frames a slow camera drops; tracking holds with the wrist off-frame.
pinch-latch.js · pinch.js:63Words written in the air — for teaching, streams and rooms.
/air-writing/A wide canvas for desks and demos; a tall one for phones and reels.
app.htmlFull-resolution PNG stills; MP4 or WebM video, up to an hour.
recorder.js:242 · recorder.js:17The whole session, replayed at 2×, 3× or 5× — the format process videos are made of.
modal.js:9One tap installs it from the browser — no store, no admin password.
manifest.webmanifestNo layers · no pressure · no offline · exports carry a small corner mark.
the honest halfThe full spec · every claim read from the code
This is a live AirVA session. Scroll, and the session plays — scroll back and it runs in reverse. Twenty features, every one implemented in the file it cites.
The full spec · 25 elements · 5 families · every one traced to its source
Everything above, plus what a performance cannot show. Hover an element — or find the one we don't ship.
Marker · Neon · Velocity · Rainbow · Mono · Sparks — six distinct render behaviours
Marker at reduced opacity is a true highlighter; opacity is pinched along a bar
Six 8-colour palettes; full HSV wheel stores any hex
Speed-adaptive smoothing; pinch latch bridges dropped frames on ~7fps devices
Eight families — line, arc, circle, ellipse, triangle, rectangle, polygon, polyline
Two modes: rope keeps length and drags like cord; rubber stretches
Sizes itself from your pinch width, against your own calibration
Session menu by gesture; Ctrl/Cmd+Z by keyboard
Infinite world coordinates; the screen is a viewport
26 grounds — camera or frosted camera, 13 solid colours, 6 gradients, 5 animated — plus a grain texture
Brush rack, palettes and menus are spatial panels operated bare-handed — point to aim, pinch to choose
Floating overlay, dragged and resized by gesture
Landscape and portrait sessions
Six guided steps with picture-in-picture demos; a skip appears after 30s of struggle
One open hand + one pinch; thresholds placed inside your measured gap
Wrist-extrapolation was built, proven unnecessary live, and deleted — stability stayed
Words in the air for lessons and streams — the teaching guide →
The only element we do not ship — and the one AirVA reads. Bring it: open the canvas.
PNG at full canvas resolution, lossless
MP4 where the browser remuxes, WebM otherwise; recordings to one hour
2× · 3× · 5×
Ctrl/Cmd+Z · E · [ ] · F · Esc
One tap from the browser; no store, no admin rights — how, for every device →
Hand tracking runs on-device; the camera feed is never uploaded
Free — no account, no trial, no paywall
support@getairva.com — a human answers, usually within the day
No layer stack — one canvas; strokes are vector data you can grab and bend.
No pressure sensitivity — nothing touches anything; width follows hand speed.
No offline mode — it loads like a web page; a fresh start needs a connection.
Exports carry a small getairva.com corner mark — image and video alike.

