nspiration Every developer switches between editor, chat, and agent windows just to build with AI. We wanted an IDE where the AI is the IDE -- not a sidebar plugin, but the entire experience, built from the ground up.
What it does Mission IDE is a desktop IDE with three native modes: Editor, Simple (Agents), and Advanced (Optimus). It embeds a Rust-powered Backboard bridge that streams AI responses, executes local tools, manages session history, and mirrors live state across all three windows in real time.
How we built it We built a Rust bridge binary (backboard-bridge) that talks to Backboard's API over JSON-line stdio, and wired a TypeScript extension that owns the webview UI, tool execution, and file-based IPC to a standalone Optimus Electron window. Three modes share one runtime via atomic JSON file mirrors.
Challenges we ran into CSS wrapping in the Optimus sidebar was brutal -- streamed text kept rendering as one horizontal line. Coordinating live stabetween three windows via filesystem JSON (with atomic writes and debounce) required careful race-condition handling. The model picker needed a searchable popover instead of a native select, and empty cache states caused cascading fallback bugs.
Accomplishments that we're proud of The three-mode architecture actually works -- switching from Editor to Agents to Advanced preserves chat state seamlessly. The Rust bridge processes streaming tool calls, voice, and media inline. We got OAuth/SSO, 378 models, and voice toggle all wired through one extension.
What we learned Debouncing file-system IPC with atomic writes works surprisingly well for near-real-time state mirroring. A Rust sidecar is vastly more reliable than a Node subprocess for long-lived API connections. Never let white-space and overflow-wrap be afterthoughts in a chat UI.
What's next for Mission IDE Agent workspace sandboxes with full filesystem access, a drag-and-drop agent builder, and removing the JSON-file IPC in favor of a direct typed service API between modes.
Log in or sign up for Devpost to join the conversation.