Skip to content
TF
All projects
Demo2026

Bramble

Keyboard-first mind mapping where the document lives in your browser and leaves as a file.

TypeScriptReactViteSVG

A diagram is only worth drawing if it costs nothing to make and nothing to leave with. Most mind mapping tools invert that: an account before the first box, and the result lives in their database in a format only they read.

Bramble has no API, no database and no account. The document lives in the browser and leaves as markdown, SVG, PNG or JSON, and the markdown round-trips, so Open reads back any outline Bramble wrote. The process that normally hands it out is ninety lines of standard library Python holding no state at all, which means it can be restarted mid-sentence without costing anyone a map.

The layout is a hand written layered tidy tree rather than a force simulation, and that is the decision I would defend hardest. A force layout settles somewhere slightly different on every reload, so you can never say "the thing on the left" twice, and an exported file reads as changed when nothing actually moved. This one produces identical geometry for an identical document.

The demo is not a cut-down build with the interesting parts removed. It is the whole application, because the application never had a backend to take away.

Details worth knowing

  • 01Deterministic layout, so the same document always draws the same way and an exported SVG diffs meaningfully when something genuinely moved.
  • 02SVG export is rebuilt from the layout pass the screen used rather than scraped from the DOM, because serialising live nodes drags in CSS variables, web fonts and transforms that resolve to nothing once the file leaves the browser.
  • 03Markdown round-trips in both directions, with frontmatter that makes an exported map findable in an Obsidian vault.
  • 04Edges are filled ribbons that taper with depth, colour assigned once at depth one and inherited down the branch, so a trunk reads as a trunk.
  • 05Undo coalesces keystrokes, so typing a node name is one step back rather than eleven.
  • 06Runs with the network off. That is the same property that makes publishing it as a public demo safe rather than a decision that needed reviewing.