I am Konstantin, building Manta (https://github.com/manta-ide/manta) alongside my co-founder Yehor. It is a graph-based IDE with natural-language nodes, that lets you index your codebase and work by creating and connecting nodes.
I always loved how Miro works - you can describe software in a few different ways, and make it clear how you think it should work on technical or product level.
I tried several solutions that let you build software by using nodes, but all those are forcing you to use the nodes they created, with strict connectors, and instead of making it easier, it becomes visual programming which is just harder to maintain than plain code.
That's why we build this solution, that is not restrictive of which nodes and connections you want to make.
We use a coding agent (your local Claude Code) underneath, and it is smart enough to understand what did you mean by the nodes you created.
This has a few interesting effects: - You can describe software on different levels of abstraction - You can choose to work with features, user flow, architecture diagram, timeline, or any other way you want - Node properties are now chosen by you, so you can decide which configuration (or no at all) you need for some component.
We are also working on more features for describing your software - edge and node types, comments on the canvas, supporting multiple graphs for a single solution.
On the technical level, it is a graph described in XML, that is editable on the screen. There are 2 states of the graph - "base" that is already implemented, and "current" which you are editing, and you see which nodes are modified.
Once you are ready to build it into code, you click a "build" button and the agent sees the difference between current and previous version, and can build out the changes and iteratively "fill in" the base graph with implemented changes.
For the property system we tried generating properties directly in code as a configuration, but it required to change the code while indexing a codebase. So while it worked well, it might introduce new bugs, and we switched off to graph-only properties. So the properties only exist on the graph, and once you modify them you need to "build" with the AI agent to see the changes. The AI agent just sees the direct commands of implementing some specific change in some node.
To make the coding agent's work easier we added metadata to the node, and it can specify which files were modified during creation of the node. While editing it next time he can go directly to the right files.
You can also use the chat to ask the agent directly for some fix, to index the codebase or to do some graph changes to automate some of the work. I personally either ask it to index on some level of abstraction/projection or if I know the codebase already - I just create the rough outline of how the architecture looks, and ask it to index in, to expand the descriptions and fill in the properties for nodes.
Would love to hear your feedback!