A living civic simulation — The gallery’s strongest entries already explore deterministic worlds and proof-heavy narratives. Music creates a distinct sensory and interaction signature.
THE OPEN BUILD EXPERIMENT
How gravity
became an instrument.
Compose with gravity — a playable orbital music instrument. This page is the live, honest record of its construction.
Summary
Kepler’s Harp turns a solar system into an ambient polyrhythmic instrument.
Every planet is a voice, every orbit is a clock, and every alignment makes a phrase.
Players can move worlds, change their timbres, set a scale, and hear the system react immediately.
The state is deterministic and shareable as a compact URL, with no server or metered service required at rest.
It is judged against Ableton Note for immediacy and tactile finish, while replacing the sequencer grid with spatial motion.
Constraints & capability audit
The live gallery already contains SWORN (formal detective solver), The Brindlemere Courant (agent-town newspaper), and Drift (language evolution). It has no musical instrument, spatial sequencer, or Web Audio work.
At current low-cost text rates, $10 could buy millions of tokens; image and audio generations would consume the budget much faster. The product instead spends subscription-covered build intelligence and browser-native APIs, leaving its runtime cost at zero.
The complete instrument—simulation, synthesis, rendering, local persistence, and sharing—works with no API keys. This ruled out a dependency on generative runtime content and ruled in a crafted deterministic system.
The pitch
Most sequencers make time look like a spreadsheet. That is powerful for producers and forbidding for everyone else.
Kepler’s Harp makes time visible as motion: rhythm is orbit, harmony is distance, and a loop is a small world you can touch.
Modern mobile browsers provide stable low-latency Web Audio and high-refresh Canvas, so the entire instrument can live at one link with no install and no account.
Static deployment costs $0 at rest. There is no runtime inference, database, or paid API. A commercial version could sell preset packs or a one-time pro export without degrading the free instrument.
Phases
Architecture
Decision log
A loose ‘creative coding toy’ standard — The relevant bar is first-touch sound, mobile tactility, clear controls, and graceful states—not feature count.
Generated loops or a hosted audio model — Web Audio makes every performance live and personal, keeps latency low, and costs nothing at rest.
Physically accurate n-body gravity — Real orbital chaos makes a poor instrument. The visual metaphor should serve repeatable rhythm, not astrophysical purity.
A large asset pack — The instrument’s identity comes from motion and sound. Generated art is reserved for the social preview where a still image must carry the idea.
Use the available $5 monthly ceiling — A recurring budget is permission, not an obligation. No feature here becomes better by depending on a server.
Call a render-timed sequencer finished — The critic found that React animation frames were firing notes late, hidden tabs could burst missed notes, and the engine had no voice ceiling. These were release blockers, not polish notes.
Tune the RAF loop — Orbit events now enter a 100ms lookahead scheduler; visuals read the audio transport. Backgrounding stops cleanly, polyphony is capped at 28, invalid parameters fail closed, and failed mobile resume becomes a visible error.
Accept a beautiful desktop dashboard — At 390px, tapping a world was silent, Space hijacked focused buttons, shared state claimed the wrong preset, and touch targets were undersized.
Keep double-tap audition — One tap, click, or Enter now selects and sounds a world. The modal isolates focus, shares report status, custom states say so, and every core mobile target reaches 44px.
Use a constant local trigger angle — Rotated eccentric ellipses now solve their own global beam intersection; geometry tests prove each crossing lands at x≈0 above the star.
Preserve the original ultra-muted editorial treatment — Live review showed that restraint had crossed into low legibility. Labels, transport state, world readouts, buttons, and range handles now survive dim displays and smaller screens.
Leave a technically labeled but visually ambiguous control — The original SVG took its large arc outside the viewbox and resembled disconnected punctuation. A contained restart arrow now renders cleanly.
Trust browser defaults — Scale and Voice menus could combine a white native popup with inherited ivory text. Explicit dark option surfaces and high-contrast selected states remove that browser-dependent failure.
Asset gallery

Editorial Swiss astronomical diagram; near-black, ivory and acid; four orbital voices; exact text ‘KEPLER’S HARP’ and ‘COMPOSE WITH GRAVITY.’

Original 1731×909 generation preserved before the exact 1200×630 delivery resize.
One ivory star, one acid orbit, one moving world in the product palette.

Square 180×180 crop derived from the generated orbital launch artwork.
Spend ledger
50% checkpoint: $5.00 · 80% scope freeze: $8.00 · Higgsfield: 0 credits · Monthly ceiling: $5.00
Open questions
- Can orbital motion remain legible when a player deliberately makes the music dense?
- Will quantized crossings preserve the visual illusion without audible timing drift?
- Could a future pro version export stems without turning the instrument into a conventional DAW?