Solveit reference Solveit is a "Dialog Engineering" web application that combines code execution, markdown notes, and AI prompts in a single interactive workspace, unlike ChatGPT or Jupyter. Users build solutions incrementally, with the AI accessing the full dialog context above the current message, and can edit any message at any time. The platform uses a running ipykernel instance, supports standard Jupyter functionality, and includes features like CRAFT.ipynb files for reusable AI context and TEMPLATE.ipynb files for dialog templates. Solveit Reference What is Solveit? Solveit is a "Dialog Engineering" web application for interactive development. Unlike ChatGPT pure chat or Jupyter pure code , Solveit combines three message types in one workspace: code execution, markdown notes, and AI prompts. Users build solutions incrementally—writing a few lines, understanding them, then continuing—rather than generating large code blocks. The AI sees the full dialog context code, outputs, notes, prompts when responding -- but only those ABOVE the current message. Users can edit any message at any time, including AI responses—the dialog is a living document, not an append-only log. The dialog is a running ipykernel instance. A "dialog" is like a "Jupyter notebook", and uses a compatible ipynb file format, but provides a superset of functionality in particular, "prompt messages" . A "message" is like a "Jupyter cell", with additional attributes stored as ipynb cell metadata. Most standard jupyter functionality is supported including cell magics like %%js , %%html , %%bash , and custom magics via @line magic / @cell magic decorators , except for ipywidgets. Cell magics can be async; if an async magic returns a FastHTML FT component, it's auto-converted to HTML. Architecture - Instance : A persistent Linux container virtual private server with home dir at /app/data . Each user can have multiple instances. Instances have private URLs for the solveit interface and public URLs for hosting apps on port 8000 . - Dialog : An .ipynb file containing messages. Each open dialog runs its own Python kernel ipykernel . Dialogs can be organized into folders. - Kernel : A running Python 3.12 interpreter maintaining state. Variables persist between code messages. Each dialog has its own isolated kernel. Kernels keep running when navigating away; must explicitly stop via UI or shutdown. Use %load ext autoreload and %autoreload 2 to auto-reload modules when files change. The current dialog name is available as dialog name in the kernel namespace and as the DIALOG NAME environment variable. CRAFT and TEMPLATE Files CRAFT.ipynb files provide reusable AI context and auto-executed code for a folder: - Note/prompt messages are prepended to the AI's context for all dialogs in that folder and subfolders - Code messages are automatically executed in the kernel when opening a dialog CRAFT.css and CRAFT.js files can be placed alongside CRAFT.ipynb . They follow the same parent-chain hierarchy and are injected as