If you want to get more into the details of how I make it work, it's mostly in how I store and process the data. Instead of storing files on a server and then calling them down, I store each equation/text block/plot/table/etc as a separate entry in a database. When the user loads a web page I pull down and order all of the items in that document.
This is what lets me connect all of the pieces. A user can pull in one equation from another document into any other document and use it as a variable. When the original variable is changed, I can parse through the database and find files/equations that use that equation and update them accordingly.
The MVP for the documents and for the part tree is already done and there are videos on the website.
I often hear people compare CADWOLF to Jupyter notebook. They are somewhat alike but vastly different in execution. Jupyter lets user create a web page using a programming language. This requires knowledge of programming as well as several other things like installing the software on a server. In CADWOLF, users simply interact with a gui to create a new document and add equations, text, etc. There is no "programming" and all you need to know are the commands for the built in function (sin,cos,FFT, etc).