Imbolc is a DAW that runs entirely in your terminal. It talks to scsynth over OSC and ships 58 instruments and 39 effects. VSTs are a work in progress, also GarageBand loops if you want to recreate "Umbrella".
The codebase is about 60k? lines of Rust across 5 crates, with ~1,100 tests. I don't actually know. It's funny because I've always been the one writing code, and now I was everybody except the one writing code: QA, Product, Design.
Some prompts that worked well: "Looking at this codebase, what looks like an obvious retrofit?" "Where can we lean on the compiler?" After an agent completed a task, I'd interview it — where did you have trouble, what felt like a hack, what would you do differently. v1 was clojure, v2 was java, v3 is rust. v4 will be stones and sticks.
So nowadays out here in the deep future, I think programming will become a matter of taste. Here's what I think demonstrates my sensibilities:
- Accessibility: This is what I'm most proud of. TUIs are usually terrible for screen readers. In Imbolc, every action in the UI is available as a typed command (after I started typing this up I thought, is that true? turns out it wasn't, so now the compiler enforces this.).
- LAN collaboration: Multiple people can connect to a shared session over the local network and share midi clock, tuning, effects buses, etc. Audio is never sent over the network.
- Weird musical choices: With the "Global" just intonation setting, your absolute tuning can drift over time. I was thinking about how an accordion looks kind of like a qwerty keyboard, so I added a quasi Stradella layout. A432 by default, and so on.
- Command palette, themes, keybindings, Diataxis docs.
It requires SuperCollider installed (scsynth on PATH). macOS and Linux 1st class, BSDs are next on the roadmap, no Windows.It's still alpha, there are plenty of rough edges. But it is genuinely fun to dink around on, I'd love to know what you all think.