---
As usual on marimo posts I have to mention how much I enjoy the product:
Two weeks ago I was working on a large scale data reconciliation that was very high in complexity and high risk for correctness/accuracy.
I built a marimo notebook to interactively visualize and validate the final data, which lead to finding several edge cases that unit testing and validation queries alone would easily miss.
The notebook used tabbed controls for switching subviews, custom AnyWidget components for a few advanced filters, interactive Altair charts with reactive data selection for drilling-down, and tables to export examples to Google Sheets. So close to the full gamut of features I think.
The more traditional notebook or script based workflows would not have been sufficient, a well-organized reactive notebook saved a lot of time on iterating on components without losing data, and data without having to re-run the full notebook.
Big thanks to Akshay and team, you're doing awesome work! Genuinely this has improved my workflow.
However my use of it has decreased a little with how easily I can conjure disposable frontends with agents to explore one off things.
I mean as a Jupyter user, I typically do both and just keep track of what I'm doing in my head (like a repl with many snippets I can run any time), but if I wanted to make it more predictable, I would definitely give up out-of-order execution first.
Being able to run Jupyter cells independently is a feature until it’s not.
I’d say for most of my one-off work, it’s fine. But for stuff I want to share it’s not.
It sounds like you're commenting about this from experience - if you'd like to share some of that, of course that would be welcome.
I have been using the --watch flag to let my agent play with the notebook as I use it already.
But sometimes I want to do something too specific or high fidelity and it's just easier to get the clanker to write typescript and make a webpage/components.
I have also been thoroughly impressed how Marimo has engaged with AI agents. marimo-pair is fantastic.
1. They're just a python file so they work with python editors
2. There's no hidden state
3. I can import from them
4. I'm not accidentally committing base64 encoded image output anymore