Basalt
Basalt is an Obsidian-class desktop Markdown workspace that pushes the boundaries of what a note-taking app can be. Built with Tauri (Rust) on the backend and React on the frontend, it targets sub-16ms input latency, sub-800ms time-to-interactive, and sub-150ms search across 5,000+ notes. The entire heavy-lifting — parsing, search indexing, vault crawling, and link graph construction — runs in Rust, while the React frontend stays thin and responsive. Every architectural decision is documented in ADRs, from the three-layer UI architecture to the native search stack (Tantivy + Nucleo).

RustReact 19TypeScriptTauriTailwindCSSShadcn/UIVite
- ▹Full-text search powered by Tantivy with fuzzy matching via Nucleo — search across thousands of notes in milliseconds from the ⌘F or ⌘O palette.
- ▹Vault indexing engine with filesystem watching, metadata extraction, and link graph construction — all written in Rust for maximum performance.
- ▹Tab system with drag-and-drop reordering, per-pane editor instances (one CodeMirror per visible pane), command palette, and a centralized keyboard shortcut system.
- ▹Three-layer architecture: Primitives (packages/ui/), Features (state + IPC), Shell (layout composition) — clean separation of concerns.
- ▹Theme system using --sat-* CSS custom properties across surface, text, accent, layout, state, and editor token families.
- ▹ADR-driven development — 11 Architectural Decision Records document every major design choice.
Architecture
├── crates/ # Rust workspace
│ ├── basalt-parser # Markdown parsing & metadata
│ ├── basalt-graph # Link graph construction
│ ├── basalt-search # Tantivy + Nucleo search
│ ├── basalt-vault # Vault indexing & watcher
│ ├── basalt-wasm # WASM bindings
│ └── basalt-types # Shared types
├── apps/
│ └── tauri/ # Tauri desktop shell
│ ├── src/ # React frontend
│ │ ├── app-shell/ # Layout composition
│ │ ├── features/ # Editor, search, tabs, vault, settings
│ │ └── routes/ # TanStack Router
│ └── src-tauri/ # Rust backend commands
└── packages/
└── ui/ # shadcn primitives- 11Architectural ADRs
- 6Rust Crates
- <150msSearch on 5k Notes