About a month ago, I began developing Diggy [0]. It started as a simple Python notebook to explore small datasets, visualize results so can share them with my friends. Its initial purpose was to create a Python playground that I can run entirely in my browser without relying on server-side code. Zero setup, just type some Python code in the browser and instantly see results.
I don't feel joy when I work with Jupyter-like environments. They are powerful, but feel complex especially for exploratory programming and for those of us who enjoy playing with ideas. That being said, Diggy is not for large-scale applications where you need Docker containers, cloud providers, integration with enterprise platforms, big data. It’s for those who like learning, coding, sharing and making it for fun.
Diggy is a tactile and visual notebook:
* It’s reactive. You don’t have to remember which blocks to run if you change a variable. A notebook will be automatically updated. There’s no hidden state, a notebook is always up-to-date.
* You don’t need to install anything on your computer. You don’t need to create an account to run Python code. It’s as simple as clicking a link.
* Web-native, runs completely in the browser pushing boundaries of edge computing.
It was hugely inspired by Observable & Repl project. Overall, it’s a small attempt to move towards tools that bring joy to programming.
Under the hood it runs Pyodide [1], and I’m planning to add extra languages at some point.
[0] https://diggyhq.com
[1] https://github.com/iodide-project/pyodide