Interact allows to create small GUIs in Julia based on web technology. These GUIs can be deployed in jupyter notebooks, in the Juno IDE plot pane, in an Electron window or in the browser.

To understand how to use it go through the Tutorial. The tutorial is also available here as a Jupyter notebook.

InteractBase, Knockout and WebIO provide the logic that allows the communication between Julia and Javascript and the organization of the widgets.


Creating an app in Interact requires three ingredients:

To get a quick overview of how these tools work together, go to Tutorial.

CSS framework

Interact widgets are by default styled with the Bulma CSS framework (the previously supported UIkit backend is now deprecated). Bulma is a pure CSS framework (no extra Javascript), which leaves Julia fully in control of manipulating the DOM (which in turn means less surface area for bugs).

To use unstyled widgets in the middle of the session (or to style them again) simply do:




InteractBase works with the following frontends:

See Deploying the web app for instructions.