Inspiration Designing a product UI today is slow and lonely. You stare at a blank Figma, push pixels for hours, and only get to compare one direction at a time. Meanwhile devs get Cursor — AI that drafts, iterates, and explores alongside them. Designers and PMs got left behind. We wanted the same superpower for the "what should this screen even look like?" stage: prompt it, see several real options, pick one, ship the code.
What it does
FluxCanvas turns a prompt into multiple UI directions, drawn live on one infinite canvas by AI agents working in parallel. Pick Copilot, Codex, or both — each lays down its own frame so you compare side by side instead of one-at-a-time. When a direction wins, export it as runnable HTML, React, or Flutter code. Save as .flx, or pull it up on your phone to review in realtime. The painful loop — prompt → wait → one mockup → start over — becomes prompt → three options → pick → ship.
How we built it
Tauri 2 (Rust) + React + Vite, because the workflow has to feel local and instant — no cloud round-trips, no waiting on someone else's GPU. Yjs CRDT is the source of truth so multiple agents can write to the same doc without trampling each other, and you get undo/redo and multi-device viewing for free. Agents talk to the app over MCP through an internal WebSocket relay, with token + origin checks so a random tab can't drive your canvas. Rust spawns copilot/codex with a sandbox and tool whitelist so the agent can design freely but can't touch the rest of your machine.
Challenges we ran into
etting multiple agents share a canvas without chaos. Needed a dispatcher that places each agent's frame in empty world-space, plus guards so an agent doesn't write to a tab you've already switched away from. CRDT discipline. One forgotten ydoc.transact() and the doc drifts. We had to rewrite parts of the store after we caught state diverging mid-demo. Trusting a local AI agent with your machine. Sandbox, allow-tool whitelist, token, origin allowlist — all of that had to be right before shipping, not after.
Accomplishments that we're proud of
A designer can prompt once and get two AI agents drawing in parallel on the same canvas — the core promise actually works. Real code out (HTML, React, Flutter), not just a pretty PNG — the design-to-dev handoff stops being a wall. Security that's actually solid for a local-first app letting AI agents run on your machine.
What we learned
he pain point isn't "AI can't design" — it's "I only get one option at a time." Parallel exploration is the unlock. Designers don't want a chatbot tab next to Figma — they want the AI in the canvas with them. CRDT-first is the only sane foundation for multi-agent collaboration. Bolting it on later would have been a nightmare. Local-first + sandboxed CLI agents is a genuinely new shape of product, and getting it right takes real care around trust.
What's next for FluxCanvas
Fewer dead ends: agents that learn from which variants you keep vs. discard. More agents (Claude Code, Gemini CLI, local Ollama) so you're not locked to one model's taste. Design system awareness — pull tokens from Figma or Tailwind so the AI designs on-brand, not generic. Versioning & branching for canvases so teams can explore directions like git branches. Plugin SDK so the community can add MCP tools (data viz, 3D, animation).
Log in or sign up for Devpost to join the conversation.