Carl Bechstrom903 downloadsA high-performance semantic network graph displaying notes in structured Parents, Children, Friends, and Siblings quadrants.
myBrain is a high-velocity, bidirectional structural graph network that maps, classifies, and visualizes connections within your vault in real-time. Built specifically for users who need instant relational awareness without heavy database overhead.
"Structure is liberation. Your notes belong to you, and your graph should think the way you do."
This update introduces automated Obsidian setting compliance and an advanced interactive inspection panel for hidden vault tracking.
i) on the center node. Desktop users can now use Cmd/Ctrl/Alt + Hover (or standard click), and mobile users can Long-Press the badge to open a live, glowing telemetry list breakdown.#tags or filename @fragments).Unlike standard chaotic force-directed link graphs, myBrain is a highly structured semantic graph view built for speed, clarity and large vaults. It layouts your notes using a predictable, clean layout matrix relative to your active focused note.
All node partitions, column expansions, and connections are built inside a 100% Hardware-Accelerated CSS Grid. Bypasses text-parsing chains and heavy canvas layers via an O(1) Just-In-Time (JIT) memory mesh.
Typical display
In a crowded environment
myBrain in Obsidian's Community Plugins.BRAT plugin from Community Plugins.https://github.com/CarlB01/myBrainmain.js, manifest.json, styles.css).mybrain inside your vault under .obsidian/plugins/.Get up and running with myBrain in less than 2 minutes. The plugin works automatically with your existing links, but you can unlock its full power using note properties (frontmatter).
myBrain automatically organizes your vault relative to your active note based on how you link them:
💡 Smart Link Direction: You don't need to worry about link directionality for hierarchies. Whether a parent links down to a child, or a child links up to a parent, myBrain automatically resolves the relationship and routes them into the correct semantic quadrants.
To tell myBrain explicitly how notes are related, add these keys to your note's properties (YAML frontmatter):
---
parents: [[My Parent Note]]
children: [[My Child Note]]
friends: [[My Friend Note]]
---
(You can customize these property names under Settings → myBrain if you prefer using up, down, peer, etc.).
You can open the semantic graph view in two ways:
Ctrl+P or Cmd+P), type myBrain: Open semantic graph view, and press Enter.Tip: Drag and drop the opened myBrain tab anywhere you like in your workspace sidebar or main layout!
PARENTS
│ \
│ ---┐
▼ ▼
FRIENDS ◄► CENTER SIBLINGS
│
▼
CHILDREN
| Quadrant Area | Target Content Routing | Sourcing Logic |
|---|---|---|
PARENTS (Upper) |
Native structural ancestors and collection headers. | Sourced explicitly via your configured properties/tags. |
FRIENDS (Left) |
Reciprocal lateral relationships and peer connections. | Routed horizontally via direct cross-links. |
CENTER NOTE |
The active focus anchor context of the current viewport. | Binds the primary origin coordinates live. |
CHILDREN (Lower) |
Downstream target children and unmapped core links. | Sourced from child fields and raw bodytext tokens. |
SIBLINGS (Right) |
Peer cluster nodes sharing a mutual parent anchor. | Tier 1: Verified frontmatter. Tier 2: Bodytext siblings. |
When a quadrant contains many nodes of the same type, they can optionally be collapsed with a +/- button to keep the view clean and readable.
Unlike traditional graph views that treat your vault as a heavy database requiring constant query-chain parsing, myBrain operates as an on-demand memory network. It functions as a lightweight logical overlay, translating native Obsidian cache footprints into structured visual matrices.
myBrain interfaces directly with Obsidian's internal memory maps, bypassing external indexing threads entirely.resolvedLinks[A]?.[B]) to protect your CPU.📖 Deep Dive: Looking for the unvarnished engineering truths, data structures, and edge-case handling? Read the comprehensive Technical Description.
If your existing structure is Excalibrain-friendly and front-matter based there would be little or no rewrites necessary.
Respects your existing tag-based font colors, customized icons, and core appearance settings natively out of the box. (Consider re-supercharged links with support for light/dark mode - and more).
Unlike standard horizontal CSS flex layouts, myBrain utilizes CSS Multi-column layout containers inside its responsive areas.
.is-calculating) combined with strict element containment rules (break-inside: avoid). This ensures flawless geometric coordinate tracking across both desktop and mobile viewports.This repository triggers an automated notice during the Obsidian community submission check called Vault Enumeration because it utilizes app.vault.getMarkdownFiles(). This behavior is completely intentional and represents the structural foundation required for the semantic graph to function.
To guarantee both maximum privacy and deep relational integrity, myBrain operates using a strict two-layer filtering architecture. It is vital to distinguish how these layers handle data:
Layer 1: Obsidian Core Exclusion (metadataCache.isTargetIgnored)
Node memory models, carry zero performance footprint, and will not appear in the Hidden / Cause inspection popup because they do not exist inside the plugin's data cache.Layer 2: Custom myBrain Blacklist Filters (ignoreTags / ignoreNameFragments)
#private or @ fragments) are captured dynamically during relationship mapping.ignoredNotes), and are exclusively compiled inside the interactive Hidden / Cause panel for telemetry inspection.For decades, the semantic power of mapping information into strict Parents, Children, Friends, and Siblings relationships belonged to closed, proprietary database silos. As a healthcare professional, I depended on this structured mode of thought every day.
When Licat and Silver launched Obsidian, it felt like home. When Zsolt introduced ExcaliBrain, it was a revelation. I even had the privilege of collaborating briefly with Zsolt to help adapt its behavior to real-world semantic workflows.
However, as the years passed, it became clear that a graph framework bolted onto a heavy vector drawing canvas (Excalidraw) introduced rigid limitations. It restricted downstream interface interactions and made dynamic scaling harder than necessary.
When Zsolt hinted at gatherings that it was time for a native implementation to take over, I accepted the challenge. I went back to the drawing board—mapping out how nodes could dynamically project into strict semantic quadrants without sacrificing speed.
myBrain is the result: a clean, uncompromising, lightning-fast native implementation designed to bring cognitive structure back to the user on their own terms.
This plugin would not exist without the immense inspiration, code legacy studies, and cognitive frameworks pioneered by:
Developed with passion by a healthcare worker who loves graphs and believes semantic structure should belong to everyone. If you enjoy this work, consider starring the repository!