I noticed you switched from paid to free? What was behind that decision?
I’m very interested in Markdown related tools, I’m building one myself [1]. How have you found working with the MCP? I went for a CLI tool myself. Have you found that agents have produced anything interesting being able to link documents? /create maps?
The mind map view uses D3 flextree for layout calculation, and we render only the visible nodes (virtualization). So even with 200+ nodes, the layout stays smooth.
On the text editor side, we use Tiptap which handles large documents well. The Yjs binding is optimized to only sync the delta, not the whole document.
We're actively working on further graph editor performance improvements, especially around initial render time for large mind maps.
Interesting approach. How does the Yjs sync work when two people edit the same node in the mind map view? Do you handle conflicts at the node level or at the text level?
We handle it at the text level using Yjs CRDTs. Each node content is a Y.XmlFragment, so when two people type in the same node at the same time, Yjs merges the changes character by character.Its similar to how Google Docs works. No conflicts, no overwrites.
The tree structure is managed by a separate Yjs data structure. So if one person moves a node while another edits its text.
The sync layer is Hocuspocus (WebSocket server) on top of a NestJS backend. Documents are persisted to PostgreSQL and synced to all connected clients. When you go offline, changes queue in IndexedDB and merge automatically when you reconnect.
The mind map view and text editor view share the same Yjs document. Edits in one view appear instantly in the other, even across different users.
You can ask harness to create a full mind map from a prompt. For example, you can say "create a mind map about machine learning basics" and it will build a new document/mind map.
Currently 17 tools that we cover:
Reading: list mindmaps, read document, search across everything, find a specific node with its context.
Writing: create new documents, add/edit/delete/move nodes, trash and restore documents.
Folders: create folders, organize documents, rename, delete.
A practical example: you can paste a long article into harness and say "summarize this into a Brainio mind map with the key topics as branches." It will create the document and build the structure for you. It works with Claude Desktop, Claude Code, Cursor, Windsurf, or anything that supports MCP.
Not now but its on our roadmap. For now, the fastest way to get started is to paste Mark-down content into a new document.
I'd suggest starting with a few notes to see if the mind map approach works for you before committing to a full migration.
The main difference is that in Brainio, every note is a mind map. In Obsidian or Logseq you write note and then view connections in a separate graph view. In Brainio the mind map is generated directly from your data structure. You indent text with Tab and it becomes a branch in the mind map. You can switch between text, split, and mind map view with one click.
The core value is that each individual document has its own visual mind map.
Brainio has real-time collaboration - it's is built in, there's a built-in MCP server so AI assistants can work with your notes, and it runs as a web app or desktop app without needing to manage a local vault.
The tradeoff is that Obsidian has a much bigger plugin ecosystem and local-first storage.
Both, the main parts were coded from the scratch. The other features were prototyped with vibe coding, but reworked before implemented to production version
I noticed you switched from paid to free? What was behind that decision?
I’m very interested in Markdown related tools, I’m building one myself [1]. How have you found working with the MCP? I went for a CLI tool myself. Have you found that agents have produced anything interesting being able to link documents? /create maps?
[1] https://sdocs.dev, discussed on HN here: https://news.ycombinator.com/item?id=47777633
Because it's my dreamed side project and I had a lot of students using the app. My goal is to make it affordable for everyone.
MCP is ready for this app and I think about delivering deep integration with harnesses (my primary work is R&D applied research in AI).
How do you handle performance with large documents? I tend to write really long notes with 200+ nodes. Does the mind map view slow down at that scale?
The mind map view uses D3 flextree for layout calculation, and we render only the visible nodes (virtualization). So even with 200+ nodes, the layout stays smooth. On the text editor side, we use Tiptap which handles large documents well. The Yjs binding is optimized to only sync the delta, not the whole document. We're actively working on further graph editor performance improvements, especially around initial render time for large mind maps.
Interesting approach. How does the Yjs sync work when two people edit the same node in the mind map view? Do you handle conflicts at the node level or at the text level?
We handle it at the text level using Yjs CRDTs. Each node content is a Y.XmlFragment, so when two people type in the same node at the same time, Yjs merges the changes character by character.Its similar to how Google Docs works. No conflicts, no overwrites.
The tree structure is managed by a separate Yjs data structure. So if one person moves a node while another edits its text.
The sync layer is Hocuspocus (WebSocket server) on top of a NestJS backend. Documents are persisted to PostgreSQL and synced to all connected clients. When you go offline, changes queue in IndexedDB and merge automatically when you reconnect.
The mind map view and text editor view share the same Yjs document. Edits in one view appear instantly in the other, even across different users.
I've been looking for a good MCP-enabled note taking app. What can Claude actually do with the 17 tools? Can it create a full mind map from a prompt?
You can ask harness to create a full mind map from a prompt. For example, you can say "create a mind map about machine learning basics" and it will build a new document/mind map.
Currently 17 tools that we cover: Reading: list mindmaps, read document, search across everything, find a specific node with its context. Writing: create new documents, add/edit/delete/move nodes, trash and restore documents. Folders: create folders, organize documents, rename, delete.
A practical example: you can paste a long article into harness and say "summarize this into a Brainio mind map with the key topics as branches." It will create the document and build the structure for you. It works with Claude Desktop, Claude Code, Cursor, Windsurf, or anything that supports MCP.
Can I import my existing Markdown files? I have about 500 notes in Obsidian and I'd like to try this without starting from scratch.
Not now but its on our roadmap. For now, the fastest way to get started is to paste Mark-down content into a new document. I'd suggest starting with a few notes to see if the mind map approach works for you before committing to a full migration.
How does this compare to something like Logseq or Obsidian with a graph view? What's the main reason to switch?
The main difference is that in Brainio, every note is a mind map. In Obsidian or Logseq you write note and then view connections in a separate graph view. In Brainio the mind map is generated directly from your data structure. You indent text with Tab and it becomes a branch in the mind map. You can switch between text, split, and mind map view with one click. The core value is that each individual document has its own visual mind map.
Brainio has real-time collaboration - it's is built in, there's a built-in MCP server so AI assistants can work with your notes, and it runs as a web app or desktop app without needing to manage a local vault.
The tradeoff is that Obsidian has a much bigger plugin ecosystem and local-first storage.
amazing job with the text editor! feels good/easy to work with and format! did you code (or vibe i dont care) from scratch or used a library?
Both, the main parts were coded from the scratch. The other features were prototyped with vibe coding, but reworked before implemented to production version
This is really cool! What's your inspiration in building this?
zettelkasten method
nice man thats such a cool concept
thanks ;)
Looks nice!