Skip to content

Getting started

Nesso is available as a hosted web app, a macOS desktop app, and as open-source code you can run locally. All data is stored in your browser or on your machine; nothing is sent to external servers unless you configure a remote AI endpoint.

Open app.nesso.how in your browser. The app works offline after the first load. Use Chrome, Edge, Arc, or any other browser with WebGPU if you want to run the AI mentor locally; for the remote API mode any modern browser is fine.

A pre-built alpha installer is published on GitHub Releases. Download the universal .dmg — it runs on both Apple silicon and Intel Macs — and open it.

The desktop app updates itself: on launch it checks GitHub Releases and, when a newer build is available, offers to install it and relaunch. Auto-updates begin once you are on a build that ships the updater (v0.1.0-alpha.25 or later), so that first version still needs a one-time manual download.

Requires Node.js and pnpm.

Terminal window
git clone https://github.com/nesso-how/nesso.git
cd nesso
pnpm install
pnpm dev

For a desktop build, Rust is required as well:

Terminal window
pnpm build:desktop

The Socratic mentor uses an LLM. Choose under Settings -> AI:

  • Local model (default): Qwen2.5 1.5B runs entirely in the browser via WebGPU (powered by WebLLM). The first run downloads ~1.1 GB and caches it; subsequent loads are instant. Nothing leaves your machine.
  • Remote API: any OpenAI-compatible chat/completions endpoint: local Ollama at http://localhost:11434/v1, an OpenAI-compatible proxy, or a hosted provider. Set base URL, model, and API key if needed.

Either mode can be switched at any time from Settings (⌘, / Ctrl+,).

  • WebGPU is required. On macOS, recent Chrome / Edge / Arc work out of the box; Safari support is improving but currently limited.
  • The first download streams progress into the Settings panel. Closing the panel does not cancel the download.
  • To remove the cached model weights, clear the browser site data for the app.

Run Ollama locally, then pull a small instruction-tuned model:

Terminal window
ollama pull gemma3:4b

In Settings -> AI, choose Remote API and set:

  • Base URL: http://localhost:11434/v1
  • Model: gemma3:4b (or llama3.2:3b, qwen2.5:7b; presets are shown in Settings)
  • API key: leave empty

Settings auto-probes the endpoint and offers a Pull button if the model is missing.

ShortcutAction
?Show shortcuts dialog
⌘, / Ctrl+,Settings
⌘K / Ctrl+KSearch concepts
NAdd concept at viewport centre
ROpen review mode
⌘Z / Ctrl+ZUndo
⌘⇧Z / Ctrl+Shift+ZRedo
Del / BackspaceDelete selection
⌘A / Ctrl+ASelect all
⌘X / Ctrl+XCut selection
⌘C / Ctrl+CCopy selection
⌘V / Ctrl+VPaste
Nudge selected concept
Shift + arrowsNudge selected concept (large)
EscClose dialog

Hold / Ctrl to add to a selection; drag on empty canvas to marquee-select.