MementoGraph is a personal intelligence substrate that continuously maps how a user's understanding evolves. It runs entirely locally, with Rust handling performance critical work and a local ~3B parameter language model (nomic-embed-text, 768-dimensional vectors) handling semantic extraction.
The system grows autonomously as content is ingested, discovering conceptual proximity, recurring themes, contradictions, and latent interest clusters without manual organization.
The interface exposes a dual layer cognitive architecture through two complementary visualization modes:
-
Graph View: the symbolic reasoning layer. Represents explicit links, causal structure, and contradictions as a semantic graph that grows organically with ingestion.
-
Semantic Field View: the associative memory layer. Uses UMAP dimensionality reduction to project high dimensional node embeddings into 2D/3D coordinates, rendering the resulting space as a landscape with density fields, cluster territories, drift paths, and boundary zones.
The system is built in four layers:
- Ingestion Engine (Rust/Tokio) — Parses content, chunks semantically, generates embeddings
- Semantic Extraction (Rust + local LLM) — Produces structured Cognitive Objects via constrained decoding
- Graph Engine (Rust + SurrealDB) — Manages the knowledge graph with autonomous relationship inference
- Interface (Tauri + React/TypeScript) — WebGL graph visualization and exploration modes
| Layer | Technology |
|---|---|
| Systems / pipeline | Rust |
| Async runtime | Tokio |
| Local LLM inference | llama.cpp / ollama |
| Embedding model | nomic-embed-text (local, quantized) |
| Vector index | USearch (HNSW) |
| Graph database | SurrealDB (embedded) |
| Dimensionality reduction | UMAP (via linfa or umap-rs) |
| Desktop shell | Tauri |
| Frontend | React + TypeScript |
| Graph rendering | Sigma.js / Cosmograph (WebGL) |
See docs/source-code-structure.md for the full layout.
crates/
├── memento-core/ # Shared types, traits, errors
├── memento-ingestion/ # Content parsing, chunking, embedding
├── memento-extraction/ # LLM backends, constrained decoding
├── memento-graph-engine/ # SurrealDB, inference, temporal weighting
└── memento-app/ # Tauri binary + React frontend
cargo build
cd crates/memento-app/frontend && npm install && npm run buildcargo run -p memento-app