Making a potluck-style notebook

There’s this group called Ink & Switch who described a concept they call “dynamic documents as personal software”, which a prototype they call Potluck. It’s not really in a state where they’d recommend people use it, but it’s a really fascinating idea. Essentially it’d let you program the rules of a document, and then it would render that document with dynamic styling, buttons, etc. based on those rules. They show it working for things like tracking which plants need watering while still allowing you to, say, add notes about each plant (because its ultimately still a freeform document). I think it could also be used for something like implementing flashcards with spaced repetition, where there’s a hidden section of cards and when you last saw them, and at the top of the document it shows you them one at a time with buttons to display the back side and then say if you got it right or not, which would put it back in the list where appropriate.

I think this is really cool, and I was wondering if Observable could work similarly to this. But I don’t know how interactive the docs can be, other than code, and have that state be persistent (ideally through updating the content in the cells).

1 Like

It’s not really directly possible… but I do have something in that vein which is more of an unreleased experiment Rewriter: a self-modifying variable / Tom Larkworthy | Observable

So I am thinking about how to get to self editable cells, like notion, or a graphical representation of code. But I am still prototyping so I have no idea whether rewriter can work usefully in practice yet.

Another hack to mutate state is through mutable local file attachments. Local FileAttachments / Tom Larkworthy | Observable which is maybe more mentally straightforward.