No. 01 · Playable synthesizer
Soft Machine
A working synthesizer, rebuilt by AI from a prompt a public gallery published: a live oscilloscope, four knobs, a 16-step sequencer and a two-octave keyboard. Play it, copy the prompt, and see what the model had to work out that the prompt never mentions.
Tap a key or press play
Sequencer Pads take the last note you played
Keyboard C3–C5
Sound starts on your first tap. No sound on a phone? Check the volume and that silent mode is off.
How to play
- Click or tap
- Play the keys. Slide across them for a glissando.
- A to K
- Play from your computer keyboard once you've clicked on the synth. Z and X shift the octave (Y and X on Swiss and German keyboards).
- Drag a knob
- Up and down. Hold Shift for fine control, double-click to reset.
- Play
- Starts the sequencer. Tap pads to add the last note you played.
- Header
- Switch the site theme and the synth changes colour with it.
The complete prompt · about 450 words
Copy it, paste it, see what you get
This is the prompt published for Soft Machine (No. 007) in Claude Opus 5.5: 100 HTML Files, word for word. It has two parts: a paragraph describing this piece, and a set of house rules the gallery added to every prompt. The button copies both.
Part 1 · The piece · 170 words
Create "SOFT MACHINE", a playable neumorphic synthesizer. Everything is sculpted from one soft clay surface (#e4e8ee) with paired light/dark shadows (#ffffff / #b8bec7), raised and pressed states, and a single accent — warm coral #ff6b5a — for active LEDs and the waveform. Layout: a device centred on the page with an OLED-like inset screen showing a live oscilloscope (AnalyserNode drawn on canvas); four rotary knobs (cutoff, resonance, attack, release) dragged vertically; a waveform selector (sine/triangle/saw/square) as neumorphic segmented buttons; a 16-step sequencer row of soft pads; and a two-octave keyboard of soft keys. Typography: a rounded sans stack ("SF Pro Rounded", Nunito, "Varela Round", "Segoe UI", system-ui, sans-serif) with small-caps labels in muted slate. Interaction: click/touch keys or use computer keys A–K to play (Web Audio oscillator → filter → envelope); knobs update the sound in real time with smooth value tooltips; the sequencer plays/stops with adjustable tempo. Audio starts only after the first gesture. Responsive: the device scales down and the keyboard becomes compact on phones without page overflow. Part 2 · The house rules added to every prompt in the gallery · 280 words
SHARED REQUIREMENTS (apply to every page in this 100-page collection): 1. One standalone HTML5 file. All CSS inline in <style>, all JavaScript inline in <script>. No external resources of any kind: no CDN, no libraries, no web fonts, no external images/SVG/audio files, no network requests. All visuals come from CSS, inline SVG, Canvas and procedural code. 2. Valid HTML5: <!DOCTYPE html>, <html lang="en">, <meta charset="utf-8">, a viewport meta tag, a meaningful <title> and meta description, well-nested semantic markup, unique ids, labels/aria attributes for controls, <button type="button"> for actions. 3. Typography from local system font stacks only, always ending in a generic family; display lettering may be drawn with SVG or Canvas. 4. Responsive from 360px phones to large desktops with no horizontal page scroll; canvases match their container and devicePixelRatio (capped at 2) and re-layout on resize. 5. Works offline by opening the file directly (file://); no console errors; storage access guarded with try/catch. 6. Smooth motion via requestAnimationFrame and transform/opacity; animation pauses when the tab is hidden where it matters; honours prefers-reduced-motion with a calmer fallback. 7. Pointer events so mouse and touch both work; visible :focus-visible styles; keyboard support where it makes sense. 8. Any sound is synthesized with the Web Audio API, starts only after a user gesture, and has a visible mute/toggle. 9. Premium finish: a deliberate palette and spacing, polished micro-interactions, a beautiful first frame before any interaction, and original copy (no lorem ipsum). Factual content must be accurate; fictional brands, people and data are clearly fictional. 10. Quality bar: visually impressive, bookmark-worthy, showcase-grade, premium, full of delightful details, and clearly distinct from the other 99 pages in concept, layout, palette, typography and motion.
What you’re looking at
Everything on that device works. The keys play through the sound engine built into every modern browser: an oscillator makes the raw tone, a filter shapes it, and an envelope decides how each note fades in and out. Once you’ve played a note, the screen draws the actual sound the synth is making, about 60 times a second. There are no audio files, no plug-ins and no libraries underneath. It’s about 1,700 lines of code, and not one of them was written by a person.
I found the original in a gallery of 100 single-file web pages, each published next to what the gallery says is the exact prompt behind it. The gallery credits Claude Opus 5.5 for all of them: according to its notes, 20 Claude agents worked in parallel, and every page was rendered in a browser and checked from screenshots before it was accepted. I’m pretty sure most people outside the AI bubble have no idea a model can do this now, so I had Claude Code rebuild it here, in this site’s colours, where you can play it without downloading anything.
One paragraph? Not quite
The paragraph describing the synth is about 170 words. The full prompt has a second part that’s easy to miss: ten house rules the gallery added to every one of its 100 prompts. One self-contained file. Works on anything from a 360-pixel phone to a large monitor. Labelled, accessible controls. Respect the reduced-motion setting. Sound only after a user gesture, with a visible mute button. And a quality bar that asks outright for something “bookmark-worthy, showcase-grade, premium”.
That second part does more work than it looks like. It’s the gallery’s standards document: written once, inherited by every brief. It’s the argument I make in Your AI Has No Idea What Your Company Does: the brilliant new hire does far better work when your standards come with the job instead of being re-explained in every request. The house rules are why the synth has a mute button and knobs you can turn with the arrow keys, even though the paragraph never mentions either.
You can do the same for your own recurring requests: write your standards down once and paste them under every brief, or put them in your assistant’s custom instructions if it has them. The Setup That Makes AI Stop Being Generic walks through how.
Why the paragraph works
Read it again and count the decisions in it. Exact colours for the surface, the two shadows and the single accent. Four named knobs, dragged vertically. The signal chain spelled out: oscillator, then filter, then envelope. Which computer keys play notes. What should happen on a phone. And one line that saves you a confusing afternoon: “Audio starts only after the first gesture.” Browsers won’t play sound until you’ve clicked or typed something on the page. Forget that and your synth stays silent, with nothing on screen to tell you why.
That’s a spec: it makes the decisions that matter and leaves the rest open. That’s the real skill on display. Writing specs is a big part of my day job, and the lesson carries straight over: the model needs what a good developer needs, which is clear decisions on what matters and freedom on everything else.
It’s also why I’m not handing this out as a prompt to memorise. Copy it, sure. The part that transfers to your own work is how it’s written.
What the prompt never says
Paragraph and house rules together come to about 450 words. The finished synth is about 1,700 lines of code. Everything in between had to be worked out, and most of it is the kind of detail you only know if you’ve built audio software before:
Timing that doesn’t drift. A sequencer has to hit every step exactly on time. Browser timers are sloppy: they fire late whenever the page is busy, and you’d hear that as a stumbling rhythm. The fix uses two clocks. A loose timer wakes up every 25 milliseconds and books the notes due in the next eighth of a second on the sound card’s own clock, which is exact. The prompt says “adjustable tempo” and nothing about clocks.
Notes that end without a click. Let go of a key halfway through its fade-in and the volume has to glide down from wherever it is at that moment. Cut it off abruptly and the speaker pops. Not every browser has a shortcut for holding that in-between value (Firefox doesn’t), so the code calculates it itself.
A screen that holds still. Draw raw sound samples and the wave slides sideways every frame. The screen waits for the wave to cross zero on its way up and starts drawing there, the same trick a hardware oscilloscope uses. Before the first note, it can’t show sound that doesn’t exist yet, so it rebuilds the current waveform from its harmonics and runs them through the same filter maths. Turn the cutoff knob before you play anything and you’ll see the wave round off.
Knobs that feel like knobs. A vertical drag that keeps working when your finger slides off the knob, Shift for fine adjustment, arrow keys for people who don’t use a mouse, and a screen reader that announces “Cutoff, 2.4 kHz” instead of an unlabelled box. The house rules ask for keyboard support and labelled controls in general terms; the details are the model’s.
Fingers. On a phone, dragging on a knob would normally scroll the page, so the synth claims those gestures and leaves the rest of the page scrollable. Slide a finger along the keyboard and each key plays as you pass it.
The paragraph mentions none of this, and the house rules only ask in general terms (“keyboard support where it makes sense”). The two clocks, the click-free release and the steady screen weren’t asked for anywhere. In this build, Claude Code worked all of them out on its own.
What changed for this page
The gallery’s version is a standalone page. Moving it into a live site meant a few changes, and they show the last stretch between an impressive demo and something you’d actually ship:
- The colours follow the site. The clay is warm cream in light mode, parchment in sepia and charcoal in dark mode. Try the theme switch in the header. The single accent is this site’s orange instead of coral.
- The computer keys only play while the synth has focus. On a standalone page it’s fine to grab every keypress. Inside an article with a newsletter form below it, typing your email address shouldn’t play a tune.
- Keys are mapped by position. On Swiss and German keyboards, Y and Z trade places, so the mapping follows where a key sits, not the letter printed on it.
- It’s part of the site’s own code. It uses the page’s fonts and has tests for its maths.
The adapted brief at the bottom of this page has all of these folded back into the original prompt.
How the rebuild went
I gave Claude Code the paragraph and asked for a version in this site’s design. It wrote the synth, then checked its own work: unit tests for the maths, and a real browser driven by a script that clicked keys, dragged knobs, switched themes and shrank the window to phone width.
The most useful catch came before any testing. The first version followed the paragraph only. When Claude Code read the gallery’s full prompt, it found the house rules asking for a visible mute button and “a beautiful first frame before any interaction”, and added both. That’s the screen preview you see before your first note. The gallery’s notes on its own version describe drawing that preview from the waveform’s harmonics, and this build uses the same idea. Same model, better result, because it now had the standards.
The browser round found two small problems. On a 320-pixel screen, the Clear button pushed the page sideways by 47 pixels. And quiet sequencer notes drew as an almost flat line on the screen. Claude Code fixed both. Write, render, look, fix: it’s the same loop the gallery describes for its own pages.
Try it yourself
- Copy the full prompt above. The button takes both parts. (The house rules mention the gallery’s other 99 pages; the model will cope.)
- Paste it into Claude, ChatGPT or Gemini and send it. Depending on your plan and settings, all three can show the result right next to the chat (Claude calls it an artifact, the other two Canvas). If yours can’t, save the answer as
soft-machine.htmland open it in your browser. If the answer stops halfway through the file, type “continue”. - Then keep going. Ask for an echo effect. Ask it to use your company’s brand colours. Ask it why the sequencer needs two clocks, and you’ll learn something about how software handles time that applies well beyond music.
A single chat reply is a harder test than what the gallery or I did, since both versions were checked and fixed in a loop. So expect your first version to need a round or two of “this part is broken, please fix it”. That back-and-forth is how it’s supposed to work. The gallery credits its version to one of the strongest models available in September 2026, and other models will give you a different result. Seeing that difference for yourself is worth the five minutes. When something breaks, describe what you see and paste the error from the browser console (F12, then Console). That’s how most debugging with AI starts, mine included.
There’s no company data anywhere in this prompt, so it’s a safe one to try on whichever assistant you have, including the one your employer gave you. If you want the bigger picture on building things this way, The Weekend Trip That Came With Its Own App is the same idea applied to something useful.
The brief, adapted for this page The same prompt with every change for this site folded in. Useful if you want to see how a spec changes when a demo has to live inside a real product.
Create "SOFT MACHINE", a playable neumorphic synthesizer that lives inside an article page on goodaiguide.com, as a component of the site rather than a standalone page. Everything is sculpted from one soft clay surface that follows the site theme: warm cream clay (#ebe6de) in light mode, parchment (#e8dcc5) in sepia and charcoal (#25252c) in dark, each with its own paired light/dark shadows, raised and pressed states, and a single accent, the site's orange #F97316, for active LEDs, knob arcs and the waveform. Layout: the device sits on a matching clay panel in the page column, with an OLED-like inset screen showing a live oscilloscope (AnalyserNode drawn on canvas; before any sound, a computed preview of the current waveform as the filter shapes it); four rotary knobs (cutoff, resonance, attack, release) dragged vertically; a waveform selector (sine/triangle/saw/square) as neumorphic segmented buttons; a 16-step sequencer row of soft pads; and a two-octave keyboard of soft keys. Typography: the site's own Plus Jakarta Sans, small-caps labels in muted ink. Interaction: click/touch keys (sliding across them plays each key) or use computer keys A–K to play, mapped by physical key position so Swiss and German QWERTZ keyboards work too, and only while the synth has focus, so typing anywhere else on the page never plays a note (Web Audio oscillator → filter → envelope); knobs update the sound in real time with smooth value tooltips and work as keyboard-operable sliders; the sequencer plays/stops with adjustable tempo, scheduled ahead on the audio clock. Audio starts only after the first gesture, with a visible mute toggle. Responsive: the device scales down and the keyboard becomes one compact octave with octave buttons on phones, without page overflow. Shared requirements as in the original, except: build it as a component of the existing site instead of a standalone file, and use the fonts the page already loads. The synth itself makes no network requests.