Download

Local-first. No account required.

Noema

Think in atoms, not threads. Navigate AI responses on a spatial canvas.

v1.0.7

Linux

Noema_1.0.6_amd64.AppImage SHA-256: 7de3ddcbe1dc0847400b604c35335b36b7e3035f805ae9a4bf23e8bce78bb644
Download .AppImage

Companion browser extension

Noema Extractor

Extract any article or page from your browser and send it straight to the Noema canvas. Now available for Chrome and Firefox.

Chrome Web Store → Firefox Add-ons →
 

Pragma Symphony

A desktop cockpit for Claude Code. Phased sessions, tests that really run, an independent review.

MIT

Pragma Symphony is open source. There are no prebuilt binaries: you build it from the repository, which takes a few minutes and needs Rust, Node.js and Claude Code. The README lists the prerequisites for Windows and Linux. Current version: v2.0.0.

Source, build instructions and screenshots — free to use, forever. View on GitHub →

Changelog

Full release history for each product.

Noema

Atom canvas — spatial AI interface

v1.0.7

patch
Added
  • Built-in guide sessions that walk new users through the app on first launch
  • The sessions panel now opens at startup, so you can pick up where you left off
  • Windows installer is now digitally signed (publisher: lightweb.it di Paolo Tanzi)
Fixed
  • Saving a session could wipe the atoms stored previously — sessions are now saved without losing existing atoms
  • Undo and redo no longer misbehave when switching between sessions
Changed
  • Various onboarding and reliability improvements

v1.0.6

patch
Added
  • The license screen now has a "Buy a license" link that opens the pricing page, so a new user without a key has a clear way forward from the activation dialog
Changed
  • Minor network-policy hardening — dropped an unused local endpoint from the app's content-security policy

v1.0.5

patch
Fixed
  • Pressing F1 to close the Help panel could immediately reopen it, due to a keyboard-listener conflict between the panel and the main window — it now closes reliably
  • Editing an atom, or creating a new blank atom, no longer crashes the canvas if the local database write fails — the error is now logged instead of interrupting the session
Changed
  • Various other under-the-hood reliability improvements

v1.0.4

patch
Fixed
  • Browser extension pairing hardened for GDPR compliance — the hardcoded shared secret used by the extension to talk to the desktop app (readable inside the published extension code) is replaced with a per-install token generated on first launch and stored in the OS keychain; the local endpoint's CORS policy is also restricted to browser-extension origins only, so no arbitrary web page can read the token or reach the endpoint

v1.0.3

patch
Fixed
  • License activation no longer fails with a "server unreachable" error in the installed app — license API calls now go through the native HTTP layer instead of the in-app webview, so they are not blocked by cross-origin (CORS) restrictions

v1.0.2

patch
Changed
  • Export dialog — the format picker is now an inline DOCX / PDF toggle instead of a dropdown, matching the syntactic/semantic selector style

v1.0.1

patch
Added
  • Clock-rollback protection — a signed high-water timestamp in the OS keychain detects when the system clock is set backwards to extend a trial or grace period offline
  • Token budget warning banner — shown when the input bar is hidden (e.g. extension sessions) so the 80%+ budget alert is always visible
Fixed
  • Session import now validates the file shape (JSON, session, atoms, links) before writing to the database — malformed or untrusted .noema.json files are rejected instead of imported
  • AI requests now have a 120s timeout so a stalled connection no longer hangs the parse indefinitely
Changed
  • Faster session saves — atoms are persisted in chunked multi-row inserts and bulk deletes, instead of one query per atom

v1.0.0

major
Added
  • Spatial atom canvas — AI responses decomposed into interactive cards arranged by hierarchy
  • Three AI connectors: Claude (Sonnet), OpenAI (GPT-4o), Google (Gemini 2.0 Flash)
  • Local Ollama connector for fully offline operation
  • Atom parser: syntactic mode (zero-AI, HTML-based) and semantic mode (Claude Haiku, strict JSON)
  • Noise filter — strips intro/outro/filler atoms before they reach the canvas
  • Session persistence via SQLite — all data stays on your machine
  • SKIA link system — draw transversal connections between any two atoms in a session
  • Clipboard — copy and paste atom subtrees; accumulate multiple entries
  • Undo/Redo (Ctrl+Z / Ctrl+Shift+Z) with full canvas state snapshots
  • Drag single atom or Shift+drag to move an entire subtree as a rigid group
  • Zoom toward cursor, pan, fit-view (⊡ button or double-click)
  • Deep parse — expand any atom on demand into a second layer of structure
  • Atom color palette with depth-decay propagation to children
  • Insert operations: above, child, intercalate between atom and its children
  • Delete with chain preservation (re-parent) or full subtree removal
  • Session import/export as .noema.json
  • Browser extension (Chrome) — extract any web page to the canvas via localhost:11420
  • Head mode — focus on an atom and its subtree; breadcrumb shows the ancestor chain
  • Collapse toggle on atoms with children
  • License system — perpetual license, 14-day trial, 1-year updates included

Pragma Symphony

Claude Code cockpit — phased sessions, VERIFY, REVIEW, projects. Open source.

v2.0.0

major
Added
  • Open source under the MIT licence, built from source (github.com/lightwebit/pragma-symphony): there are no prebuilt binaries
  • Pragma on the web — follow the Pragma running on your PC from a browser or a phone. Off by default; it needs a personal access key, available on request
  • Commands from the web, separately switched on and protected by a PIN: start or resume a session, approve, answer, stop, Fix / Accept a review, edit to-dos and scheduled sessions
  • REVIEW now runs without a session branch: it reviews exactly what the session changed, from the commit the session started on. A Git and review setting switches it off
Fixed
  • Auto-approve could race a fresh turn against the tail of the one before it; it now waits for the turn to finish
Changed
  • MIT licence, replacing the proprietary licence of the 1.x line; the privacy policy now describes web sharing
  • Session branches are off by default
Removed
  • The install confirmation ping: Pragma no longer sends anything to noema.tools on first launch
  • The per-project briefing (Lexis v2), the Morphē handoff and the Save button

v1.2.0

minor
Added
  • Parallel sessions — several sessions can run at the same time, each with its own state, on different projects. A working directory accepts one active session at a time
  • Session branches — in a git working directory each new session starts on its own pragma/<id> branch, so its changes never mix with yours. Can be turned off in Settings
  • Test and review after a session — when the project has a test command, Pragma runs it after the report and compares the result with the state before the session. If nothing regressed, a separate model reviews the diff and you choose to accept it or send it back for a fix. Large diffs and changes to sensitive paths are flagged
  • End-to-end button — run the project's end-to-end tests from a popup, with a catalogue of runners, a timeout, and a way to stop a run
  • Live and Pipeline — every project has a category and a stack. The Live button starts the project's own command on demand; the Pipeline popup runs a local, step-by-step pipeline that includes the test step
  • Scheduled sessions — write a prompt, pick a date and time, and the session starts by itself
  • Project checklist — a TODO list per project, from a button in the header
  • A sound at the end of a session (Settings) and the model used, shown for every session in the list
  • Per-project briefing, experimental and off by default — a short compiled summary of the project injected at the start of a session. It is switched on with briefingEnabled in ~/.pragma/settings.json
Fixed
  • Token counts and cost of a session that was resumed or continued now add up across all its turns, instead of showing only the last one
  • A finished session no longer blocks the next one in the same working directory
  • Auto-approve no longer switches itself off after the first session of a run, which left the following sessions waiting for a click
Changed
  • The command-line tool prints its help and messages in English, like the rest of the interface
Removed
  • The Lexis integration — the header button, its Settings section, and the retry queue. It was optional and off by default. With it gone, no session content is sent to any server: everything stays in the local database

v1.1.1

patch
Fixed
  • The legal links in the application footer now point to the Pragma Symphony terms and privacy pages, instead of the pages of the earlier MIT-licensed Pragma

v1.1.0

minor
Added
  • Projects — every session now belongs to a project (title, working directory, colour, optional Morphē reference). The session list, the full-text search, and export are scoped to the project you are in
  • Lexis integration, optional and off by default — when you enable it in Settings, Pragma asks a Lexis server for the context of earlier work before a run and sends the finished session back to it. Failed deliveries are retried from a queue. The server URL, the timeout, and a health check live in the Settings panel
  • Morphē handoff detection — a handoff file found in the working directory is offered as a ready-made prompt
  • Fable model — a third choice next to Sonnet and Opus in the composer's Advanced form. When a plan runs longer than five steps, the plan card proposes both Opus and Fable
  • Configurable model ids — the models key in ~/.pragma/settings.json maps each name in the interface to the id passed to Claude Code, so a new model can be adopted without waiting for a new build
Fixed
  • pragma run (the command-line entry point) no longer fails after the database migration: sessions started from the command line are recorded under a dedicated CLI project, created the first time it is needed
Changed
  • Opus now resolves to Claude Opus 4.8 (previously Opus 4.7)
  • The application is renamed from Pragma to Pragma Symphony, and is proprietary from this version on. The bundle identifier, the crate names, and the ~/.pragma data directory are unchanged, so an existing installation upgrades in place and keeps its sessions. The earlier open-source line stays available under the MIT licence on GitHub