Caffeine is a livecoding environment for the web. After adding it to a webpage, you can use it to change that page live, without reloading, and to store your changes. You can interact with Caffeine through a full graphical interface inside your page, and with your favorite text editor.

      Caffeine's underlying computation engine is SqueakJS, an open-source Smalltalk. From the canvas below this one, you can interact with Squeak's traditional user interface, Morphic. Squeak runs identically on all its host platforms, including macOS, Linux, Windows, and HTML5. You can snapshot a live session on any host platform, and resume it on any other.

      Caffeine provides a user interface framework called Hex, which wraps several other UI frameworks, letting you mix them at will with a livecoding workflow. In addition to Squeak Morphic, supported frameworks include morphic.js (a JavaScript implementation of Morphic from UC Berkeley's Snap! project which runs faster than Squeak Morphic in SqueakJS at the moment), React, and the traditional DOM. You can also interact with any other JavaScript framework you like.

      Caffeine is also integrated with WebDAV and the Chrome Debugging Protocol (CDP). Eventually, Caffeine will have tools for inspecting, debugging, profiling, and modifying all the webpages in your web browser, as a full-GUI alternative to the Chrome DevTools. You'll also be able to interact with Caffeine and CDP from your favorite text editor, through a virtual WebDAV filesystem.

      Craig Latta
      21 June 2017