← evobiosys.org · Holon page →
LogSilk.
Your knowledge, on your machine, woven whole — in plain .md you can read in any editor, forever.
The engine of SilkNotes — a sovereign, local-first knowledge OS · built in Vienna
Your second brain lives in someone else's cloud.
The outliner tools people now run their whole lives on hold something that has quietly turned mission-critical — typed supertags, fields, live queries, AI commands — behind closed source, on remote servers, with no exit.
Three walls close in at once. Your notes sit on infrastructure you don't control. The format stays locked, so leaving means losing the structure you built your thinking on. And every tool guards its own silo — knowledge that refuses to interoperate. For anyone who thinks in an outliner, that adds up to a dependency with no back door.
Zoom out and it reads as a European question too: digital sovereignty. Where do the notes of a continent's researchers, builders and institutions actually live — and who holds the keys? The honest local-first answer stays simple: your data bleibt bei dir (stays with you), in a format that outlives any single vendor.
Rewrite the engine in Rust. Keep the notes as boring files.
LogSilk takes a deliberate bet: rebuild the engine of a file-based outliner from scratch, in Rust, and earn sovereignty through the least glamorous formats imaginable.
Plain Markdown stays canonical — the file on disk remains the truth, human-readable in any editor. A derived SQLite index rides alongside it for speed, sitting behind a storage trait (a swappable seam), so the fast layer can be replaced without touching your files. Nothing precious hides inside a proprietary database; the boring format is the guarantee.
Concretely, LogSilk grows as a from-scratch Rust rewrite of file-based Logseq 0.10.15. A sibling layer then reweaves the full feature envelope people rely on — the typed, queryable, AI-assisted workflow — on top of LogSilk's crates. Same daily workflow; sovereign foundations underneath.
Not a mock-up. A tested engine that already parses a real vault.
The load-bearing risk in any rewrite lives in the parser — and that risk has been retired against real data, not a toy sample.
Parser mldoc match completed 2026-06-12. Test counts as of the current milestone; figures come from the project's own suites, not projections.
Supertags
Typed templates carrying fields — and extends schema inheritance, so a #quest can inherit everything a #project defines and add its own.
Atoms & anchors
Per-word and per-range references built on the Loro CRDT. Anchored ranges survive concurrent edits — tested for delete-boundary and concurrent-interior cases, documented in ADR-0001.
Live queries & AI commands
Queries filter the graph live; AI commands run through local inference via Ollama — live-verified with a local qwen3 model. No cloud calls, no data leaving the machine.
Journal-safety gate
A backup-first guard that refuses to touch today's journal file — because the one note you can never afford to corrupt is the one you're writing in right now.
The outliner, alive.
The real workflow, in miniature: supertags with typed fields, live queries that filter as you tap them, and block references that anchor across the tree. This runs as plain in-page JavaScript — a picture of the idea, not the engine itself.
A daily note, three moves
Illustrative demo1 — tap a #supertag to read its schema. 2 — tap a query to filter live. 3 — hover a ((reference)) to see its target glow.
Illustrative demo — the real engine runs local-first in Rust, parsing your actual .md files. Schemas, queries and references shown here are hand-written for the picture; the working system computes them over a live vault, with all inference staying on your machine.
Boring choices, deliberately.
A sovereign tool earns trust by the architecture it commits to and refuses to walk back. These four are locked — each chosen because it stays legible, replaceable and hard to regret.
Markdown + SQLite behind trait seams
Files stay canonical; the index stays swappable. The storage engine hides behind a trait, so speed never costs you ownership of your notes.
Loro CRDT for atoms
Conflict-free replicated data types anchor per-range references that survive concurrent edits — and keep multiplayer and sync possible later without a rewrite.
Tauri + React shell
A Rust-native desktop shell with a familiar React surface — outliner, prose, canvas, daily notes. Flutter was weighed and explicitly rejected.
Sibling-repo layering
The parity layer lives beside the engine, building on its crates rather than forking it — so the boring core stays clean and independently testable.
A working prototype — used daily by the person who built it.
No launch date, no user counts, no beta sign-ups. What exists is honest: a tested engine and a parity layer that already carry a real workflow on the founder's own vault.
Already real
- Prototype Definition-of-Done reached (2026-06-20) — the parity layer meets its own bar for a working prototype.
- Milestone v0.5 (2026-07-02) — backlink badges, tag-vs-page detection, and domain .md mirrors.
- SuperLogseq — vanilla Logseq running with the Rust parser dropped in, daily-driving the founder's real vault.
- Local AI, verified — AI commands answered by a local qwen3 model through Ollama, no cloud.
Next on the line
- Cross-graph embeds (M3) — resolving ((block-uuid)) across nested graph boundaries; the next load-bearing gap.
- Bidirectional writing and page⇆graph equivalence, then all-pages filtering.
- Semantic search via local embeddings; automatic linking and unlinked mentions.
- Canvas⇆outliner toggle and a visual graph view.
Model
Supertags & fields
Live queries
Journal safety
UI shell
Backlinks, tag/page, mirrors
LogSilk is the engine. SilkNotes is where it's headed.
Once the engine holds, the vision widens: SilkNotes — an open-source, local-first, EU-sovereign knowledge OS whose job is to let your knowledge silos interoperate, instead of each one hoarding a partial view of what you know.
The shape is typed bridges between tools: file-level for open formats like Logseq and Obsidian, API adapters for proprietary ones. Everything feeds a single unified output API, so dashboards, publishing pipelines and local AI agents can read your knowledge whatever tool it started in — no Zapier required. Bridges run on your machine, on your terms.
File-level
Logseq and Obsidian and other open-format tools, connected at the file layer with the least loss in translation.
API adapters
Proprietary tools reached through adapter layers that preserve as much structure as each API allows.
Output API
One interchange surface downstream consumers can read — the same knowledge, many destinations.
The model stays simple and honest: an open-source free tier with premium support. Its future home, silknotes.one, holds a placeholder today — the product lives in this prototype, not yet at that address.
One thread in a larger weave.
LogSilk doesn't stand alone. It sits inside a lineage that runs from a lifelong memory down to the substrate that carries it — and up to the tool you touch every day.
Complete Memory
The lifelong-memory vision: everything you've thought and read, captured and made findable.
Kidur
The foundational tech layer beneath — the binding infrastructure the knowledge OS rests on.
LogSilk → SilkNotes
The tested Rust engine, and the sovereign knowledge OS it grows into — what you actually touch.
All of it EU-sovereign and open-source, held to one principle: tools that belong to the people who use them.
Come weave the sovereign layer.
The engine works and the vision is drawn. What it needs now are the right hands and the right backing — people who understand why notes should belong to the people who write them.
Open-source contributors
Rust, CRDTs, parsers, local AI — help build the crates the OS rests on.
EU sovereign-tech funders
Back a genuinely local-first, open-source alternative to cloud-locked knowledge tools.
Early adopters
People who live in outliners and want an exit door that keeps their .md readable forever.
Jakob Possert-Bienzle · EvoBioSys · Vienna