Lokus

Local-first note-taking with graph view, canvas & AI plugins—your Markdown files, zero telemetry, blazing-fast Rust performance.

725stars
115forks
Custom / Unknown
JavaScript

Lokus is an open-source, local-first note-taking application built with React 19, Tauri 2.0, and a Rust backend that stores all notes as plain Markdown files on your device. It is designed for knowledge workers who need full ownership of their data without cloud lock-in, monthly subscriptions, or telemetry. Unlike Notion, your notes never leave your machine; unlike Obsidian, every line of source code is open and auditable.

The editor is built on TipTap (ProseMirror) and supports rich Markdown editing, live preview, LaTeX math via KaTeX, 100+ language syntax highlighting via Shiki, table manipulation, task lists with 18 states, and smart HTML-to-Markdown paste. Organization goes beyond folders: a 2D and 3D graph view powered by Three.js and D3-force visualizes note relationships, an infinite canvas backed by TLDraw provides freeform spatial thinking, and a Notion-style database view enables structured data within notes.

AI integration is built in through a Model Context Protocol (MCP) server, enabling any MCP-compatible AI assistant (Claude, GPT-4, and others) to read, search, and write notes directly. A plugin marketplace, 40+ slash commands, a live theme editor, and deep Obsidian vault compatibility make Lokus a capable daily driver. Cross-platform binaries for macOS, Windows, and Linux use ~50 MB of RAM compared to 300 MB+ for Electron-based alternatives.

The project reached v1.1.0 in March 2026 with active development, a public roadmap including P2P sync via Iroh, mobile apps, collaborative editing, and end-to-end encryption. It is licensed under Fair Core License 1.0 (FCL-1.0-MIT), which converts to MIT two years after each release.

What You Get

  • Rich Markdown Editor - Live preview with wiki links, 100+ language syntax highlighting via Shiki, LaTeX math rendering via KaTeX, table resize and sort, task lists with 18 states, and HTML-to-Markdown smart paste.
  • Bidirectional Wiki Links & Backlinks - [[autocomplete]] for creating interconnected notes with automatic backlink detection displayed in a dedicated backlinks panel.
  • 2D and 3D Graph View - Three.js and D3-force powered visualization of note relationships that reveals hidden connections across your entire knowledge base.
  • Infinite Canvas (TLDraw) - A spatial, limitless workspace for freeform brainstorming, diagramming, and arranging notes without grid constraints.
  • Database Views - Notion-style inline databases inside Markdown notes for structured data, filtering, and sorting without leaving the editor.
  • Template System (90+ Features) - Advanced templates with variables, conditionals, loops, and dynamic content for consistent note structuring.
  • MCP Server Integration - Built-in Model Context Protocol server lets any compatible AI assistant (Claude, GPT-4) read, search, and write your notes locally.
  • Plugin Marketplace - Community-built plugins installed via deep-link (lokus://) with sandboxed runtime and lifecycle management.
  • Full-Text Search (Rust-powered) - Native Rust backend indexes your vault and returns results with context lines, regex support, and case-sensitivity control.
  • Live Theme Editor - Real-time customization of colors, fonts, and spacing with instant visual feedback and exportable theme files.
  • Zero Telemetry & Offline-First - No account required; notes are plain Markdown on disk; the app works 100% offline.
  • Obsidian Vault Compatibility - Open existing Obsidian vaults directly; supports standard Markdown, frontmatter YAML, and wiki links without conversion.

Common Use Cases

  • Building a personal knowledge base - A researcher stores academic papers as Markdown notes, uses [[wiki links]] to connect related concepts, and explores the 3D graph to discover unexpected connections across years of reading.
  • Managing a Zettelkasten system - A writer creates atomic notes with bidirectional links and uses the graph view to navigate a self-organizing knowledge network following the Zettelkasten method.
  • AI-assisted research workflows - A developer connects Claude or GPT-4 as an MCP client so the AI assistant can search, read, and draft notes directly inside the local vault without sending data to the cloud.
  • Visual project planning - A product manager uses the infinite TLDraw canvas to sketch architecture diagrams, connect them to note files via wiki links, and track tasks with database views inside the same workspace.
  • Structured note-taking for students - A PhD student uses daily notes, templates with variables, and nested tags to organize literature reviews, then exports annotated Markdown for submission.
  • Plugin-extended workflows - A team lead installs community plugins from the marketplace to add custom graph analysis, automated tagging, and workflow automation without modifying the core application.

Under The Hood

Architecture Lokus is structured as a layered desktop application with a React 19 frontend communicating with a Rust/Tauri backend through a defined command interface. The frontend organizes code into clearly separated domains—core (filesystem, search, graph, MCP, plugins, auth), editor (TipTap extensions), features (file-tree, shortcuts, workspace), views, and services—with feature flags gating entire vertical slices through a remote configuration context. The plugin system adds a distinct runtime layer with sandboxed execution, dependency resolution, and lifecycle management through a PluginManager and PluginAPI. State management uses Zustand stores for layout, file tree, and views, though some transient state still flows through React context. The Tauri backend exposes typed Rust commands for search, file operations, theming, audio, calendar, and MCP embedding, with the separation between frontend and native code enforced by the invocation boundary.

Tech Stack The frontend is built with React 19, Vite 7, and Tailwind CSS 3, using TipTap 3 (ProseMirror-based) as the editor core augmented with KaTeX for LaTeX math, Shiki for syntax highlighting, and TLDraw for the infinite canvas. Graph visualization uses Three.js with D3-force for 3D and react-force-graph for 2D. The Rust/Tauri 2.0 backend handles filesystem operations, a regex-powered full-text search engine, native system tray, global shortcuts, and a bundled MCP stdio server. Optional cloud sync relies on Supabase with authentication; Sentry captures frontend errors and PostHog tracks analytics. The plugin SDK lives in a workspace package with its own CLI, registry, and runtime sandbox.

Code Quality Testing is comprehensive: Vitest covers unit tests organized by domain (canvas, editor, graph, markdown, plugins, security, templates), an integration suite, and Playwright handles end-to-end scenarios across navigation, editor functionality, file operations, MCP, and canvas. The codebase uses consistent ESLint rules, a structured logging system with scoped loggers replacing raw console calls, and TypeScript-compatible JSDoc types. Error handling uses try/catch with logger output throughout the plugin system and Tauri command layer. The Rust backend includes type-safe structs with Serde for serialization across the IPC boundary, and a Rust-side test file exists for the search module.

What Makes It Unique Lokus combines three capabilities rarely found together in open-source desktop note-taking tools: a built-in MCP server that allows any AI assistant to interact with a local vault over stdio without uploading data, a Fair Core License that gives the complete source while preventing competing commercial forks until the MIT conversion triggers, and a Tauri runtime that keeps memory usage an order of magnitude below comparable Electron tools. The plugin SDK ships its own CLI and registry infrastructure, making community extensibility first-class rather than an afterthought. The remote feature flag system lets the team gate incomplete features and push configuration changes without requiring users to update the app.

Self-Hosting

Lokus is released under the Fair Core License 1.0 with MIT Future License (FCL-1.0-MIT). In plain language, you can read, fork, modify, and self-host Lokus freely for personal use, education, non-commercial research, and professional services delivered to others. The restriction is narrow: you cannot build and distribute a competing note-taking product using Lokus code without a commercial arrangement with the authors. Every version automatically converts to the standard MIT license on its second anniversary, at which point all restrictions lift permanently.

Running Lokus yourself is operationally straightforward compared to server-based tools. There is no database server, no background sync daemon, and no container orchestration—Lokus is a native desktop application that reads and writes Markdown files from a folder you specify. Installation is a single binary download (macOS .dmg, Windows .msi or .exe, Linux .deb/.rpm/.AppImage). If you build from source, you need Node.js 18+ and a Rust toolchain; a one-line npm install and tauri build command produces the binary. Updates are self-managed via the bundled update checker against GitHub releases.

The current release does not include a hosted or SaaS tier, so there is no managed alternative to trade off against. The roadmap lists P2P sync via Iroh, collaborative editing, and end-to-end encryption—features that will require no central server when implemented. For teams that need real-time collaboration or managed backups today, Lokus is not yet a complete replacement for cloud-native tools like Notion; the expected P2P sync feature is not yet released. Community support is available via GitHub Discussions and a Discord server; there is no enterprise SLA or paid support tier at present.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack

No spam. Unsubscribe anytime.

Join 750+ subscribers
No spam. Unsubscribe anytime.

Search