Things to make / Recipe 12 of 13 · Play
A pocket music machine
Tap out a beat in one file, no samples or music software needed.
- About 20 minutes
- For music-curious visitors who want a tiny playable instrument.
- Runs in Claude Code and OMP
What the agent made
Ran it for real with Claude Code 2.1.292 and OMP 18.8.5 on 2026-10-08, in an empty session with no saved memory. Your result will differ.
Open what Claude Code made, full screen
The same prompt in OMP made its own version: open what OMP made. Two runs, two different results: that is normal.
Make your own
Get the files
Make an empty folder called
cli-practicein Downloads. No downloads: start in an empty folder.Open your agent in that folder
Open a terminal in
cli-practiceand typeclaudeoromp --approval-mode always-ask. First time? Set up in about five minutes, with steps for Mac, Windows, and Linux.Paste this prompt
In this practice folder, make beat.html, a self-contained four-step sequencer with labeled kick, snare, and hi-hat rows. Use Web Audio oscillators and generated noise, not audio files. Sound must begin only after a Play click; provide Stop, tempo control, Mute, and a visible current step. Let mouse, touch, and keyboard toggle cells. Make each sound distinct, and display an unsupported-browser message if needed. Use ASCII punctuation throughout. No external assets or network calls. Do not edit inputs, leave this folder, install packages, use APIs, or fetch anything.
The prompt asks the agent to stay in this folder; it cannot enforce that. Read each file change and command before you approve it.
Check it yourself
Open
cli-practice/beat.htmlin your web browser (double-click it), then:Human check: Toggle one cell in each row, press Play and hear three distinct sounds at their steps; change tempo, then test Mute and Stop.
When we checked the recording above: Opened beat.html in Chromium; toggled isolated Kick, Snare, Hi-hat cells and clicked Play for each. Browser Web Audio analyser measured nonzero output (peak RMS 0.418, 0.214, 0.035): kick oscillator, snare oscillator plus noise, hat noise only. Sound starts after click, current step advances, tempo moved 120 to 121, Mute dropped signal near zero, Stop to zero; Space and Enter toggled cells, no JS errors or remote requests. Headless environment does not provide an audible speaker check.
Why an agent, not a chat window
An agent writes the grid, sound synthesis, and playback controls into an offline instrument you can actually use.