PHASE 3 · EXPERIENCE PASSNow: Shipped after independent audio, orbit, and interface critics passed; production and cold-clone routes verified

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.

BENCHMARKAbleton Note
01

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.

02

Constraints & capability audit

Build modeAdvanced; subscription agent time unmetered
Runtime AIOpenRouter available; no preferred model selected
Visual + audioHiggsfield available; Canvas and Web Audio require no key
DeliveryGitHub and Vercel authenticated; domain deferred
Budget$10 build budget; $5 monthly ceiling; $0 metered used

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.

03

The pitch

problem

Most sequencers make time look like a spreadsheet. That is powerful for producers and forbidding for everyone else.

wedge

Kepler’s Harp makes time visible as motion: rhythm is orbit, harmony is distance, and a loop is a small world you can touch.

whyNow

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.

economics

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.

04

Phases

PHASE / GOALSTATUSCOMMIT
0 · AuditFind the gallery gap and commit to one benchmarkcompleteeed1419
1 · SystemBuild audio, orbital math, and the playable shellcomplete9275fdc
2 · ExperienceIntegrate, polish, and pass independent criticscompletee574eb3
3 · QA + shipVerify every route, viewport, asset, and deploymentcompleteccbede3
05

Architecture

06

Decision log

Build an instrument, not another narrative simulation

A living civic simulationThe gallery’s strongest entries already explore deterministic worlds and proof-heavy narratives. Music creates a distinct sensory and interaction signature.

Benchmark Ableton Note

A loose ‘creative coding toy’ standardThe relevant bar is first-touch sound, mobile tactility, clear controls, and graceful states—not feature count.

Browser-native synthesis

Generated loops or a hosted audio modelWeb Audio makes every performance live and personal, keeps latency low, and costs nothing at rest.

Stable musical orbits

Physically accurate n-body gravityReal orbital chaos makes a poor instrument. The visual metaphor should serve repeatable rhythm, not astrophysical purity.

One generated launch card; code-native product visuals

A large asset packThe instrument’s identity comes from motion and sound. Generated art is reserved for the social preview where a still image must carry the idea.

Self-sustaining static runtime

Use the available $5 monthly ceilingA recurring budget is permission, not an obligation. No feature here becomes better by depending on a server.

Fail the first audio critic pass

Call a render-timed sequencer finishedThe 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.

Move music onto the AudioContext clock

Tune the RAF loopOrbit 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.

Fail the first mobile interaction pass

Accept a beautiful desktop dashboardAt 390px, tapping a world was silent, Space hijacked focused buttons, shared state claimed the wrong preset, and touch targets were undersized.

Make the orbit itself the immediate instrument

Keep double-tap auditionOne 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.

Make sound meet the visible beam

Use a constant local trigger angleRotated eccentric ellipses now solve their own global beam intersection; geometry tests prove each crossing lands at x≈0 above the star.

Raise contrast and type size across the control surface

Preserve the original ultra-muted editorial treatmentLive 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.

Replace the malformed reset arc

Leave a technically labeled but visually ambiguous controlThe original SVG took its large arc outside the viewbox and resembled disconnected punctuation. A contained restart arrow now renders cleanly.

Set native menu colors globally

Trust browser defaultsScale 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.

07

Asset gallery

Orbital launch card
Orbital launch cardOpenAI built-in ImageGen · OpenAI/imagegen

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

Orbital launch card source
Orbital launch card sourceOpenAI built-in ImageGen · OpenAI/imagegen

Original 1731×909 generation preserved before the exact 1200×630 delivery resize.

Orbit app icon
Orbit app iconCode-native SVG · OpenAI/GPT-5 Codex

One ivory star, one acid orbit, one moving world in the product palette.

Apple touch icon
Apple touch iconLocal image crop · sips

Square 180×180 crop derived from the generated orbital launch artwork.

08

Spend ledger

$0.00of $10.00 metered build budget

50% checkpoint: $5.00 · 80% scope freeze: $8.00 · Higgsfield: 0 credits · Monthly ceiling: $5.00

OpenAI/GPT-5 Codexconcept, orchestration, implementation, and critiqueOpenAI/imagegen (built-in)social preview artwork
09

Open questions

  1. Can orbital motion remain legible when a player deliberately makes the music dense?
  2. Will quantized crossings preserve the visual illusion without audible timing drift?
  3. Could a future pro version export stems without turning the instrument into a conventional DAW?