Playable
Input that isn’t
a keyboard.
Eight pieces where the input is a voice, a hand, a drawn line, a face, or
every phone in the room. They exist because a studio that claims it can build interaction
should be able to hand you some and let you judge. Each tile below is running its own
behaviour — no video, no screenshots, nothing downloaded.
Four have public URLs and say “Open it”.
The other four do not, so they don’t claim to.
Typespace
Type a word into the dark and it condenses out of drifting
particles, holds as a constellation, then dissolves back over a minute or two. Built
against the noise of a feed rather than for it. A phone can be paired in to send words
to a screen across the room.
1,200 real stars from the HYG catalogue · Next.js · Firebase
Open it
Rakugaki Jam
Scribble on your phone and throw it at the wall. A QR code joins
a whole room of phones to one big screen in the browser they already have — no app, no
install, no upper limit on how many people join. Drag inside this tile: you are
drawing, and the stroke lands on the wall to the right.
Snap Pair · Firebase Auth + RTDB + Functions
Open it
Resona
The body becomes an instrument. Which fingers you raise is the
chord — thirty-two per hand — and stopping your hand is not silence but a held note that
blooms from where you stopped. Whole-body mode reads head, shoulders, elbows and wrists
as separate voices.
MediaPipe Hands · Web Audio · all on-device, no video leaves the browser
Open it
Marubatsu 2.0
Tic-tac-toe, rebuilt until the feel was right. A solved game is
the honest place to work on nothing but touch, timing and weight, because none of the
interest can come from the rules.
Canvas · game feel
Open it
Kao Game
A game you play with your face. Pull the expression it asks for,
and muscles you never deliberately train get a workout you actually want to repeat.
Twenty-five games across three collections, and a lab mode that tells you exactly where
the detection is failing instead of leaving you guessing.
478-point face mesh · runs without a camera too, on the keyboard
No public URL yet
Koe Baku
Shout, and your voice bursts into comic-book onomatopoeia across
the screen. A VJ instrument the audience joins by QR code. Loudness is measured on each
phone and only the result is sent — no audio ever leaves the device.
Snap Pair · Web Audio · on-device measurement
No public URL yet
EmojiDrop Ultimate
An emoji-only arcade shooter for two players head to head. The
scroll direction changes every stage, the difficulty reads how well you are actually
doing, and the boss learns where you like to stand and starts shooting there.
WebRTC peer-to-peer, no relay · single file, no build, no CDN
No public URL yet
Werewolf
The card game, dealt to the phones already in the room. Nobody
passes anything to anybody, nobody sees a card that is not theirs, and the table does
not need a moderator holding the deck.
Snap Pair · shared screen + private hands
No public URL yet
How these are built
Everything here is code, not footage.
Nothing to download
The eight animations on this page add zero bytes of media. They are
drawn by about four hundred lines of JavaScript, which is less than one hero image would
have cost.
They stop when you aren’t looking
Each tile halts when it scrolls off screen and when the tab is hidden,
and runs at roughly 32fps rather than 60. A canvas loop left running is a phone getting
hot in someone’s hand.
Reduced motion is honoured properly
A media query does not reach a JavaScript loop, so the loop checks it
itself. If you have asked your system for less motion, each tile paints one frame and
never animates.
The room is the interface
Rakugaki Jam, Koe Baku and Werewolf all run on Snap Pair, our own
pairing engine — one screen, many phones, no install. It is open
source.
Bring this to something you’re building