Cool! And no worries. I think that’s the nature of trying to co-create prototypes with LLMs right now. I’m not ready to share anything substantial yet either. Right now it’s a lot of pseudocode. Once the ideas start to feel a little more concrete, I might start putting down something real.
Are you familiar with
Ink and Switch’s Patchwork? I was inspired enough by their vision to begin dreaming of tools I might want to build for myself. Unfortunately it’s still in active development. Hopefully we see an alpha soon.
The Ink and Switch team put out an essay on
Malleable Software, with a call to action at the end. I started exploring what other problems still needed untangling.
That led me to current open source desktop experiences and
Cosmic DE. And I was happy to discover their philosophy is aligned with my own. It felt like I was reading about the other half of the system I had been imagining in my head.
Now I’m trying to connect the two ideas. How would I build patchwork on top of cosmic? The answer is an itemized OS.
Every item is a single Automerge document.
Tools can read and write to documents, but don't hold any data themselves.
Views created by querying the connections between those documents.
Cosmic is built on
iced which uses an
MVU model for the GUI rendering. I begrudgingly have to admit it is a better mental model of “items” and “connections” all the way down. Bummed about losing HTML + CSS for rendering though.
And that’s how far I’ve gotten. Now the hard work, figuring out how to efficiently query and draw “views” based on automerge doc connections.
Right now I’m exploring cozoDB and rocksDB (inspired by datalog) for a query language, but I suspect I’m going to need some kind of caching or lazy loading and I haven’t worked out the shape of it yet.