It was the first thing I coded entirely with Claude, and absolutely blew me away. (Mostly, it turns out other people already did all the hard parts -- the inspiration was running across a reddit post where someone said they wired together pyiodide and the Ace editor in a few hundred lines of javascript).
This was my first experience of "if you know what you're doing, LLMs can build things well and incredibly quickly". I think MVP took one evening, and then two more rewrites pushed it out to a week or so. (One after I realized fully offline was a worthwhile idea, the second after I realized the backend could be a dumb key/value store with only prefix iteration.)
As mentioned, it's local-first: everything should work perfectly offline after loading it once. Saving is limited to my kid’s school domain at the moment, but it’s super simple to host: just compile the Go binary and put it behind Caddy or something.
Code (which I literally have not read) is at https://github.com/zellyn/trifling
[Edit: p.s. try the avatar editor!]