BrainShare · open source · MIT

Lend your brain.

Anyone can read it. Anything can call it.

Pick notes and canvases from your Obsidian vault. Get a URL with an interactive graph, full-text search, and per-recipient JWT access — readable by humans, queryable by agents. Free. No vendor lock-in.

What you get when you share a slice

Interactive graph view

Sigma.js force-directed graph that mirrors your Obsidian graph view — hover to focus a cluster, click to open.

Full-text + filename search

⌘K palette searches every note body in the slice. Sidebar filter narrows the file tree as you type.

Per-recipient JWT auth

Mint a token per viewer. Expirable, revocable, optional view-count cap. No login screens.

Canvases render natively

Colors, groups, bezier edges, file embeds — Obsidian's .canvas spec, faithfully.

Wikilinks resolve correctly

Links inside the share-set work. Targets outside become greyed-out "not in this share" labels — no leaks.

Cloudflare free tier

Worker + KV. ~1000 publishes/day before you pay anything. Globally cached reads.

Why not Quartz or Obsidian Publish?

Quartz

Great for "publish my whole vault." Static site setup, full-rebuild per change, no per-recipient gating.

Obsidian Publish

Zero-config but $8–10/mo per site, all-or-nothing visibility, no programmatic API.

BrainShare

Per-slice publishing with a live graph + auth, free on Cloudflare's tier, full programmatic API.

Get it

  1. Beta install via BRAT (Obsidian community-store PR pending review): add MachoMaheen/brainshare as a beta plugin.
  2. Deploy your own publisher — clone the repo, wrangler deploy. Two minutes on Cloudflare's free tier:
    # in the publisher/ folder
    npm install
    wrangler kv:namespace create NOTES
    wrangler deploy
  3. Open the BrainShare panel in Obsidian, point it at your worker URL, pick a slice, hit publish — get a URL like https://your-publisher/share/<slice>?t=<jwt>.