Two screen sizes become one implementation brief
M3E Canvas lets one design carry 412 x 892 phone screens and 1280 x 800 desktop screens, then describes matching names as two widths of the same screen. You drag Material 3 Expressive controls onto a canvas, connect taps or swipes, preview the transitions, and copy the result as an Android or web prompt. Theme controls cover color, shape, type, contrast, and motion. The purpose is narrow and useful: give a coding agent a concrete interface brief before it starts inventing layout.
That focus is visible in the 108-file repository we measured. It contains about 30,766 lines of source rather than a server, database, or plugin system. The component set covers bars, buttons, cards, lists, dialogs, fields, pickers, progress indicators, image placeholders, and other common Material parts. Prompts and interface text exist in English, Japanese, Chinese, and Korean. A contributor who adds a part has to update rendering, editing, prompt wording, and all 4 languages.
The handoff is a prompt or PNG, not an editable design file
M3E Canvas produces a prompt that you can edit before copying, plus a PNG of a screen. It also saves the whole project as JSON. Share links compress that document into the URL fragment, so the design is carried by the link and does not pass through an application server. Picked local images and AI rewrite history are removed from the shared copy, while HTTPS image references can remain. This is a tidy handoff for one builder or an async review.
The limit matters more than the feature count. Open issue 447 asks for SVG because the current PNG is a flat bitmap with no editable text, layers, or vector icons. Our 10 MB checkout grew to 563 MB after npm installed its dependencies, yet the output still stops before production code or a design-system artifact. If your next step is Figma refinement, token management, or a formal developer handoff, Penpot is a closer fit.
What happened when we ran it
Our sandbox installed 352 npm packages in 19 seconds and used 563 MB on disk. The Next.js build completed in 16 seconds. Vitest then finished in 9 seconds with 750 passed and 0 failed. Those numbers come from commit de2d97a in a fresh unprivileged container with 3 CPUs and 8 GB of RAM. For a visual editor with its own prompt and geometry logic, that is a clean first run.
Npm audit reported 0 known vulnerabilities in the installed tree. The repository had 2 CI workflow files, no Dockerfile, and no dedicated tests directory; its test files sit beside components and library code. Nothing in our run required a database, system package, or secret. Our test method covered installation, the production build, the available Vitest suite, and dependency audit. It did not score generated layouts or compare an AI-built app with the sketch.
No backend means no team workspace or secret vault
The security model is easy to understand because there are 0 application servers in the normal path. Drawings remain in localStorage, project files, or URL fragments. There are no accounts. That cuts deployment work and keeps a shared design out of a hosted project database, but it also means there is no shared workspace, access control, comment thread, or server-side revision history. Teams must supply those practices elsewhere.
The optional AI helper changes the privacy calculation. A user enters an OpenAI, Anthropic, Google, or DeepSeek key, and the browser stores it under m3e:ai. The generated description of the whole design goes directly to that provider. None of this affected the 16-second static build, and you can leave the helper off. A company that forbids client-side provider keys should do exactly that, or omit the feature from its deployed copy.
The full editor is desktop-only
On a phone, M3E Canvas gives you 1 fixed screen and a buttons-only editor. The multi-screen canvas, full part palette, grouping, layers, and broader editing flow belong on desktop. This is sensible for detailed layout work, though the README's "phone-friendly" label can sound broader than the actual mobile feature set. Mobile users can adjust a quick button sketch; they cannot replace a desktop design session.
The open queue shows where the edges still are. Issue 432 requests charts, issue 443 seeks feedback on the rebuilt customization panel, and issue 447 requests structured SVG export. GitHub listed 4 combined open issues and pull requests on September 28, 2026, while the last push landed on September 27. The project is moving quickly, and the small open queue includes specific product work instead of an abandoned backlog.
Active development has not produced a GitHub release yet
The repository was created on September 2, 2026 and had 8,374 stars by September 28. It has no GitHub release, while its package metadata says version 0.1.0 and marks the package private. Share links and agent-authored drafts are labeled beta. Those details do not make the editor unreliable, especially beside 750 passing tests, but they do make file compatibility and workflow stability worth checking before a team standardizes on it.
M3E Canvas earns a place before implementation, where a rough verbal request needs visible screens and explicit navigation. Our install finished in 19 seconds, the build in 16 seconds, and all 750 tests passed in 9 seconds, with 0 known vulnerabilities reported. That is strong evidence for trying it. The stopping point is equally clear: once several people need to edit the same source of truth, or the handoff must stay editable outside the browser, move the work into a full design platform.

