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).

Built With

Share this project:

Updates