All work

App · Desktop

Mnema

A desktop personal knowledge management tool: a markdown editor wrapped around a living graph of the links between your documents — in 2D and 3D — with built-in LLM assistance and versioning.

Year2026
RoleDesign & Development
PlatformDesktop — Tauri 2
TypePersonal project
Mnema main interface — editor and graph side by side

Overview

What Mnema is

Mnema is a desktop application for personal documentation: a place to write, connect and revisit knowledge. It pairs a markdown editor with a graph of the links between documents, rendered both as a 2D map and as a navigable 3D space, and adds an LLM layer and versioning on top.

The name comes from ancient Greek μνῆμα (mnêma) — a memorial, that which is remembered. The app is built around that idea: not just storing notes, but keeping the relationships between them visible and alive.

Features

What it does

Markdown editor

Write documentation in markdown with a clean, focused editing surface.

2D & 3D link graph

See the connections between documents as an interactive graph — Cytoscape.js for 2D, a force-directed Three.js scene for 3D.

LLM integration

Local models via Ollama, plus external providers: Anthropic, OpenAI, Google and any OpenAI-compatible endpoint.

Local-first storage

Everything lives in a local SQLite database with a custom incremental migration system.

PDF extraction

Pulls text out of PDFs with the Rust pdf-extract crate, silencing its ligature noise.

Versioning

Document history is tracked, so you can see how a note evolved over time.

Under the hood

Technical stack

LayerTechnologies
Runtime / buildTauri 2, React 18, TypeScript, Vite, Tokio (rt-multi-thread)
UITailwind CSS, Zustand, Lucide icons, custom SVG icons
GraphCytoscape.js (2D), 3d-force-graph + Three.js (3D)
DataSQLite with a custom incremental migration system
LLMOllama (local) + Anthropic, OpenAI, Google, OpenAI-compatible endpoints
PDFpdf-extract (Rust) with a StderrSilencer for ligature spam
External linkstauri-plugin-opener
Dev environmentWindows — npm run tauri:dev

Gallery

Screens