Brainstorm
A mind map that lays itself out while you think
A mind-mapping tool where you never drag a node: an iterative placement algorithm keeps the graph readable as it grows, and every action has a shortcut, so a thought goes from your head to the canvas without the mouse. It can also generate a graph from a prompt or suggest the neighbours of a node, with your own API key — and it stays entirely in the browser, so the key never goes anywhere.
- iterative layout
- positions are solved, not dragged — the map stays readable as it grows
- keyboard first
- move, branch, link, delete — every action has a shortcut
- prompt → graph
- generate a whole map, or just the neighbours of one node
- your key, your model
- the LLM call happens in the browser; nothing is proxied anywhere
- local storage
- several maps side by side, like tabs, plus JSON import and export
- undo / redo
- on every action, including the generated ones
What it is
Part of a larger question I keep circling — how information should be represented — and the smallest useful thing I could build out of it. A mind map, except you never place a node yourself: an iterative algorithm settles the positions each time the graph changes, so the shape stays legible while you are still thinking.
The emphasis this time was on getting someone from zero to using it: the app opens with a real Help — descriptions, live examples, the shortcut table — and every action worth doing twice has a key bound to it. Undo/redo, JSON import/export and local storage that behaves like browser tabs are there for the same reason.
The AI features work with your own key, chosen model, straight from the browser: generate a graph from a prompt, or ask for what should sit next to a node. Nothing is proxied through a server of mine, because there is no server — the whole thing is a static bundle on GitHub Pages.
The other half: how it was built
The tool was an excuse to run an experiment on how to build with agents efficiently. One day, start to finish.
Write the specification with one model, build with another. I described what I wanted to ChatGPT, asked it to turn that into a spec, and then asked three times over: what did I forget — collect every detail you can. The result already contained nearly every feature, the stack and the use cases.
Pick the baseline by competition. That spec went into Cursor’s multi-agent mode across the frontier models — Opus, Codex Max, Gemini, all in thinking mode — and I took the best starting point rather than the first one. Opus 4.5 won by a distance; the others made a mess of it.
Then iterate in one long conversation. Five to ten fixes per prompt, in the same chat until it filled up, testing by hand in between. At this level of complexity Opus 4.5 was almost always right the first time, which is what made batching fixes possible at all.
Close the loop so the agent tests its own work. I had it build a debug console that takes typed commands, specifically so it could drive the app through Cursor’s built-in browser — where the mouse and scrolling barely work, but the keyboard does. It used that console to exercise the shortcuts and features on its own.
The conclusion: the built-in browser is not there yet — an agent still cannot do plenty of things in it, key combinations among them — but part of the manual testing is already automatable, and that part is where the time goes.
Cost is hard to pin down: I burned through a $20 subscription, spent about $30 on API on top, then bought $60 more. Around $40 if used well — and a subscription is considerably better value than the API.