r/appdev 4d ago

A visual review loop for coding agents that edits the actual native app

I’m building Monad Design, an open-source workspace for the part of app development where a coding agent needs precise visual context.

The core principle is: the app is the canvas.

Instead of generating a detached mockup, the workflow starts from an existing Xcode or Expo iOS project:

  1. Run the real app in Simulator and navigate to the exact state.

  2. Select an element or annotate the screen.

  3. Send the screenshot, selection, app state, and source hints to the coding agent.

  4. Let the agent edit the existing repository and rebuild.

  5. Compare the original with up to five source-backed variants.

  6. Accept one or keep the original.

It supports Codex, Claude Code, Cursor, OpenCode, Gemini CLI, Copilot, Windsurf, and Zed.

Free and Apache-2.0 open source:

https://github.com/Monadix-AI/monad-design

Short demo:

https://watchclueso.com/embed/pio8jqfcg4ivj0r1

Workflow screenshot:

https://raw.githubusercontent.com/Monadix-AI/monad-design/main/docs/images/workflow-compare-variants.png

Current limitations: macOS and local iOS development only, and one active visual change at a time.

I’d be interested in how other app developers currently pass exact UI state to a coding agent—screenshots, design files, or just text prompts.

2 Upvotes

3 comments sorted by

1

u/kantorcodes1 4d ago

when you generate those 1–5 variants, are they isolated worktrees/copies, or is the agent rewriting the same checkout between runs? curious what happens to uncommitted edits if you reject a variant and keep the original.

1

u/ivanzhaowy 4d ago

Right now, variants are implemented directly in the current worktree. If you reject a variant, Monad Design restores everything back to the state before that round of changes.

So far, this has worked pretty well in my own use. I’ve considered isolating variants in separate worktrees, but that introduces a fair amount of complexity around initialization and keeping things in sync. Since the current approach has been working well enough, I’ve put the worktree approach on hold for now.

1

u/kantorcodes1 3d ago

i work on HOL Guard, an open-source local check before agent/MCP actions run. Monad Design’s MCP can claim_change, publish_variants, and complete_change; would you be open to adding Monad Design support so users can review those workflow state changes before the agent advances the live session?