Live: https://hungson175.github.io/study-map/ · Code: https://github.com/hungson175/study-map

I study most days, and I build software one small piece at a time. I want to learn the same way.

Mind maps that arrive finished have never worked for me. NotebookLM is good, but a complete map is someone else's map: I read it once and keep nothing. I want one that opens only where I got curious and ends up holding my own notes, so next time I can just glance at it.

So Study Map does not fill everything in at once. The page's guide tells the agent to draw a few nodes and stop. I select a node, pin a question, and only that branch grows.

Working together. WebMCP is what makes this simple. The page hands the agent what it needs as tools: the map, my selection, my open questions. It draws and it researches; I drag, rewrite, delete and write in my own notes. It can also refuse, when there is no room beside a node, rather than write over my work. Same canvas, both of us, no screenshots in between.

Built. An MIT retrofit of Excalidraw. The page registers 17 tools through document.modelContext.registerTool. The one that took by far the most work is how_to_use: read-only, recomputed from the live canvas, it is the page teaching the agent how to run this kind of session — a few nodes, then stop and wait for the person, then grow only what they asked about. That guideline is really the product. The other sixteen tools just carry it out.

The demo is me using Study Map to learn WebMCP itself.

Built With

Share this project:

Updates

Submission history