If I find myself explaining the same decision to AI over and over, I start wondering whether it belongs in a tool.
Some instructions describe a choice we have already made. If I can express it as a repeatable operation, software can carry it into the next task. I’m using that idea in two rather different projects: Genny, for web applications, and LaiVE, for music.
Genny is my internal tool for generating applications with a Go backend and a Vue frontend. For example, adding a Post model can produce the API for listing posts and a Vue page that calls it. The conventions for connecting them live in the generator, while the application’s behaviour stays in ordinary source code.
That moves part of the job from “work out how this stack fits together” to “use these foundations to build the application”. For a booking app, the interesting question becomes what happens when someone cancels a place. Does it go straight to the next person on a waiting list, or do they get an invitation? Genny’s conventions leave that product decision open.
LaiVE applies the same principle to editable music in Ableton Live. Here’s a small example from An Open Table, a piece made with it.
Swing makes the two halves of a beat unequal, so the notes between beats land a little later. A prompt-only approach could ask AI to work out new timestamps for every note, keeping the instruments in agreement. That is a lot of arithmetic to put into a conversation about how the music should feel.
In An Open Table, the composition plan gives the piano, bass and drums the same swing operation and amount. The engine reads those instructions and calculates the note starts and ends. AI can describe the musical change in the plan; the tool applies its timing rules to the notes.
If I want less swing, the task becomes changing the amounts in the plan and rebuilding the piece. Choosing the amount remains a musical decision. The calculation for applying it is already in the engine.
The timing rule still needs maintaining if we change how it works, just like other code. But each composition can use it without reopening that engineering decision.
We still have to listen. I reserve the right to discover that the perfectly calculated version sounds awful. Keeping the material editable gives us a way to change our minds.
