← 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

01 · The silo

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.

02 · The wager

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.

03 · The engine room

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.

1096/1096
Blocks of a real corpus parsed to a 100% match against Logseq's own mldoc grammar, differential-tested.
226 tests
Rust tests green across the LogSilk engine — parse, model, extract, serialize.
104 tests
Green across the parity layer that rebuilds the supertag / query / AI workflow.
44 MB
Desktop binary confirmed launching — Tauri (Rust) shell, React surface.

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.

Rust core Markdown canonical SQLite index (trait seam) Loro CRDT Tauri + React Ollama local AI
04 · The demo

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 demo

1 — tap a #supertag to read its schema.  2 — tap a query to filter live.  3 — hover a ((reference)) to see its target glow.

query ›

    Tap any #supertag in the outliner to inspect its typed fields — including the extends inheritance on #quest.

    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.

    05 · Decisions that hold

    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.

    Locked

    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.

    Locked

    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.

    Locked

    Tauri + React shell

    A Rust-native desktop shell with a familiar React surface — outliner, prose, canvas, daily notes. Flutter was weighed and explicitly rejected.

    Locked

    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.

    06 · Where it stands

    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.
    v0.1

    Model

    v0.2

    Supertags & fields

    v0.3

    Live queries

    v0.3.5

    Journal safety

    v0.4

    UI shell

    v0.5 — now

    Backlinks, tag/page, mirrors

    Designed-for, deferred. Multiplayer, federation, a Postgres or graph-DB backend, and Notion import/export do not exist yet — and none are claimed. The Loro CRDT and the storage trait seams exist precisely so these stay reachable without another rewrite.
    07 · The SilkNotes horizon

    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.

    Planned

    File-level

    Logseq and Obsidian and other open-format tools, connected at the file layer with the least loss in translation.

    Planned

    API adapters

    Proprietary tools reached through adapter layers that preserve as much structure as each API allows.

    Planned

    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.

    08 · The constellation

    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.

    The source

    Complete Memory

    The lifelong-memory vision: everything you've thought and read, captured and made findable.

    The substrate

    Kidur

    The foundational tech layer beneath — the binding infrastructure the knowledge OS rests on.

    Kidur pitch →

    The engine & the OS

    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.

    09 · Let's talk

    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