Every team reaches a point where shared documentation starts to matter. Runbooks, onboarding guides, architecture decisions โ€” the kind of content that should outlast the person who wrote it.

I hit that point and started looking for the right tool.

What I tried

Notion was the obvious first stop. It is fast to get going and polished. But your content lives in Notion’s database. There is no real export that stays readable without Notion. For documentation you want to last, that felt like the wrong foundation.

Confluence works at scale. It also comes with the cost and operational weight that implies. For a small team or solo setup, it is overkill.

Wiki.js was closest to what I wanted. Open-source, structured, Markdown support. But it requires an external database, a Node.js runtime, and enough configuration that the setup itself becomes a project. I wanted a wiki, not a platform to maintain.

BookStack is similar โ€” PHP, MySQL or MariaDB, more moving parts than documentation software should need.

Obsidian is excellent for personal notes. It is not a team wiki. No server, no roles, no single source of truth.

What I built instead

The core constraint was simple: it should run as a single binary with no external dependencies and store content as Markdown files on disk.

That led to a few concrete decisions.

Go for the backend. The server ships as a single binary. ./leafwiki --jwt-secret=... --admin-password=... and it runs on Linux, macOS, Windows, and ARM64. No runtime to manage, no version to juggle.

SQLite for runtime storage. Users, sessions, page metadata, and search indexes live in SQLite. I use the pure-Go driver specifically to avoid CGo and keep builds portable. The actual page content lives as .md files in a directory you control โ€” readable and movable without the app.

CodeMirror for the editor. A proper extensible editor with Markdown syntax highlighting, live preview, and clipboard image uploads. Ctrl+V pastes an image directly into the page. Small thing, but it matters daily.

The result is what I wanted: a real wiki application on top of portable Markdown. Tree navigation, full-text search, roles, revision history, backlinks, Mermaid diagrams, import from ZIP with Obsidian link rewriting. Everything managed inside the app, nothing locked in.

The live demo has revision history and link refactoring enabled if you want to see the full feature set.

Where it is now

LeafWiki is at v0.9.0. The core is stable and in active use.

Next on the roadmap: tags and properties for structured metadata, and a hosted option for teams who want the product without managing a server themselves. If the hosted direction is interesting, there is a waitlist on the site.

The source is on GitHub under MIT. Questions and feedback are welcome there.