19 comments

  • FailMore 14 hours ago

    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

    • havlenao 13 hours ago

      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).

  • drumandbass 12 hours ago

    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?

    • havlenao 12 hours ago

      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.

  • borlando 13 hours ago

    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?

    • havlenao 12 hours ago

      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.

  • matoush 13 hours ago

    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?

    • havlenao 12 hours ago

      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.

  • gildainovae 13 hours ago

    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.

    • havlenao 12 hours ago

      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.

  • zyconator 13 hours ago

    How does this compare to something like Logseq or Obsidian with a graph view? What's the main reason to switch?

    • havlenao 12 hours ago

      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.

  • miamicholo 19 hours ago

    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?

    • havlenao 13 hours ago

      Both, the main parts were coded from the scratch. The other features were prototyped with vibe coding, but reworked before implemented to production version

  • home8333 a day ago

    This is really cool! What's your inspiration in building this?

  • devansh0718 14 hours ago

    nice man thats such a cool concept

  • borlandc2 13 hours ago

    Looks nice!