Foldboard: plans for people and AI agents with a bounded context
The problem. Almost every planning and diagramming tool shows one big map on an infinite canvas. A person struggles to take it in at a glance, and an agent has to piece the puzzle together from screenshots and full exports. For both, that is a waste of context and focus, and it only gets worse as the plan grows.
What Foldboard does. Instead of one big map, Foldboard offers folds: cards with their own inner level. A large plan is assembled from small, nested levels, and the screen always shows only the area that matters right now; everything else lives one step down. The entities are deliberately minimal: a block, a fold, an arrow, and an external card for a connection that crosses a fold boundary. So you can plan anything, from a house move to a user story in an app, and keep going deeper. You can also build a plan just to understand something, then continue from a specific card.
Trace shows one path across nested levels as a single line without changing the board: you see how to get from one card to another, even when they live in different folds. That nudges both the person and the agent to break the plan into small steps.
What the agent gets through WebMCP. Foldboard registers 18 tools via document.modelContext. An agent can:
- create a whole plan in one atomic batch and connect it to the existing one;
- start from a compact outline and request only the area it needs, with a depth limit, pagination, and a cap on description length. It reads what matters now, not everything;
- read the current level, the selection, and the user's requests attached to cards. It is enough to select a few cards and say "change this": the agent knows what you mean, with no object references and no screenshots;
- see the project deeper than what is on screen and take that into account. Reads never move the person's interface; navigation happens only on explicit request;
- write with a revision check: stale context cannot overwrite the person's newer edits, and an agent batch can be reverted with a single Undo.
**How it is built. Flutter Web with no backend; boards live in the browser. Alongside it I wrote and published flutter_webmcp, a typed Dart API for registering WebMCP tools from Flutter Web without hand-written JS interop, with WebAssembly support and cancellation through AbortSignal.
Try it. Open the ChatGPT App and say: "Open https://foldboard.kicknext.chatgpt.site in app browser and create a nested plan for launching a mobile app."
Built With
- dart
- flutter
- flutter-webmcp
- webmcp
Log in or sign up for Devpost to join the conversation.