System Overview
MindMux is an Electron desktop application built around a local-first project brain and a runtime-portable execution layer.
High-level architecture
At a high level, the system is composed of:
- a React renderer
- an Electron main process
- runtime integrations
- an MCP-backed tool layer
- local file-backed project storage
Core flow
The typical flow is:
- The renderer drives user interaction.
- The main process coordinates sessions, projects, tasks, watchers, and configuration.
- A selected runtime handles chat or task execution.
- The runtime uses an MCP tool surface to read and act on project knowledge.
- Durable outputs land in
brain/and operational state lands in project-local storage.
Responsibility split
Renderer
Owns the user-facing surfaces: sessions, pages, tasks, settings, and navigation.
Main process
Owns orchestration: windows, session lifecycle, watchers, runtime coordination, tasks, notifications, and IPC.
Runtime layer
Owns the model-specific execution path for chat and tasks.
MCP layer
Owns structured project operations and external connector access.
Design intent
Several architectural choices appear repeatedly across the codebase:
- keep durable knowledge file-based
- make sessions and tasks explicit product objects
- isolate runtime-specific behavior behind stable abstractions
- expose structured project context through MCP tools
- preserve local ownership of project knowledge
Why this shape works
MindMux needs to combine:
- desktop filesystem access
- long-lived local state
- model execution
- explicit knowledge structures
- human approval checkpoints
This architecture supports all five without collapsing them into one opaque process.
Product consequence
This architecture allows the app to improve in two dimensions independently:
- the knowledge model can deepen without rewriting runtime integrations
- runtime integrations can change without breaking the project brain