hushlab
An executable notebook — prose, math, and code cells that actually run — kept in a plain markdown file on your own disk.
hushlab is the desktop sibling of hushvault and hushnet, built on the same promise: everything stays on your machine. Think Jupyter without the server, or notebook apps without the cloud — a place to work an idea out, where the working-out is a file you'll still be able to read in ten years.
Pay what you want, including free. Universal macOS build (Apple Silicon and Intel) and a Windows 64-bit build.
macOS: this beta isn't notarized by Apple yet, so a normal double-click will be blocked on first launch — right-click (or Control-click) the app → Open → Open, once, and it opens normally after that.
Windows: this beta isn't signed yet, so SmartScreen will warn on first launch — click More info → Run anyway, once, and it opens normally after that.
What it does
- Write prose and math side by side — KaTeX renders inline and display equations instantly.
- Run JavaScript cells with one click or ⌘↩ — the last expression's value appears right below.
- Keep state across cells within a session, stream console output live, and interrupt runaway code.
- Render Mermaid diagrams and syntax-highlighted code in 25+ languages, all bundled locally.
- Edit everything in place with per-cell editors, autosave, and undo for cell operations.
- Stay in plain markdown — it renders on GitHub, greps, diffs, and outlives the app.
A notebook is just a markdown file
Not a proprietary container with your work sealed inside it. A hushlab notebook is an ordinary .md file: the prose is prose, and the code cells are ordinary fenced code blocks. Open it in any editor, put it in git and read the diff, or open it inhushvault — it's the same file either way.
Outputs are never written into your document. What a cell prints belongs to the session, not the file, so the notebook you save is clean markdown and stays that way. If hushlab vanished tomorrow, your notes wouldn't notice.
Nothing runs until you say so
A notebook can arrive from someone else, so hushlab treats the document as untrusted until you press run — nothing executes on open, ever.
- Code runs in a sandbox with the network removed. Cells execute in an isolated worker where
fetch, sockets, and every other way out have been taken away, behind a strict content-security policy. A notebook someone sends you can't phone home. - The sandbox can't reach the app. Running code has no access to your files or to hushlab itself — only to the cell it lives in.
- No accounts, no telemetry, no cloud. There is no server to receive anything, because there is no server.
Early
hushlab is early and in active development — today it runs JavaScript, with other languages planned. Expect rough edges; though since your notebook is a plain markdown file you can read without the app, your work is never trapped. It's offered pay-what-you-want, including free; if it becomes where your ideas run, a tip keeps the workshop lit.