Pictures go stale
The mockup was right the day it was drawn. The product kept shipping and the file did not, so every review starts by asking which version is true.
ucode by CRABZLAB puts your running product on an infinite canvas. Every screen live, on every device, arranged into flows, scenarios and a sitemap. Point at anything and ucode knows the component. Hand the note to your own AI, and the screen updates.
Measured on release builds, same machine as the old review board. Numbers, not adjectives.
Why ucode
Design tools hold drawings of a product. Feedback tools hold screenshots of it. Coding agents hold the repo. Nothing holds the product itself, the way people actually use it.
The mockup was right the day it was drawn. The product kept shipping and the file did not, so every review starts by asking which version is true.
"The button on the left" in a chat thread. A cropped screenshot. A ticket nobody can map back to a component, a route or a line of code.
A coding agent reads the whole repo to work out which element you pointed at, then fixes the wrong one with total confidence.
ucode starts from the running product, so the picture can never drift from the truth.
How it works
Four steps, one file. Every step leaves something the next one can use: captures, structure, pins, and a brief your agent can act on.
Point ucode at a local build or a URL. It captures every route on every device you pick, with the product's real data and state.
Screens, flows, scenarios, sitemap, design system, responsive, moodboard and branding. Eight pages, one file, one canvas.
Hover names the element. Click marks it and opens a thread that already knows the selector, the box, the tokens and the route.
Send pins to Claude Code, Codex, Gemini or OpenCode on your machine. ucode re-captures the screen and moves the pin along.
One file, eight pages
A product is not a pile of screens. It is routes, journeys, states, tokens and a brand. ucode keeps all of them next to each other, built from the same source.
Screens in view run as the real product, up to twelve at once, so menus open and forms validate. Everything else is a fresh capture you can refresh or make live in one click.

Flows read like the diagram you would draw on a whiteboard: a start, steps, decisions with yes and no, terminals and routed arrows. Every step is a route that exists.
The same product walked by different people in different states: a guest, a signed-in buyer, a seller with an offer open. Each row shows the screens that journey really passes through.
The sitemap is the product's real routes arranged by path and ordered by how deep they sit from the entry points. Routes with no screen and screens with no route show up in the health report.
Colours, type and spacing come out of the product's own CSS custom properties and scales. Components come from its own tags. Defined but unused tokens get flagged, not hidden.
Each preset carries its true pixel ratio, touch and operating system user agent, so the product renders the way it does on the device, not a resized desktop.
Drop, paste or link pictures onto a moodboard in the same file as the product, so the direction and the result sit one zoom apart.
Swatches with their WCAG contrast ratios, type specimens and the logo, all read from the product's own tokens. When a colour fails contrast you see it before a user does.
Comments that know the code
A comment in ucode is a pin on a real element. It carries everything a developer or an agent needs to find it, and it moves through a lifecycle you can see on the canvas.
Optimize
Optimize reads your screens and the product behind them, works out how it is wired, and writes the pages that describe it. It shows what it will add, change and leave alone, then applies everything as one step you can undo.
Read the product and write the pages that describe it.
Routes, links, forms, states, CSS tokens and component tags. Deterministic, and it works with no network at all.
With a connector enabled, your own CLI names journeys and personas. It cannot add a route the product does not have.
Keep my edits is on by default. Running it a second time changes nothing, and one Undo restores the whole file.
Bring your own AI
Connect the coding agents you already pay for. ucode hands them a precise brief instead of a vague screenshot, and keeps every step of the loop visible on the canvas.
claudecodexgeminiopencodeYou mark what is wrong, on the real screen
LATEST.md plus the context slice for that area
Your CLI edits the code in your repo
ucode shoots the changed screens again
The pin reaches Done, you confirm it
Context pack
Optimize writes a chunked context pack into the product: what the product is, its areas, every screen and every component with what it does. One area fits in one prompt, so agents stop guessing and stop burning tokens.
# Glossary AppHeader.logo file AppHeader.tsx does brand mark, links home used /, /catalog, /favorites ka ლოგო ProductCard.price file ProductCard.tsx does price with currency, sale state used /catalog, /vendor/:slug ka ფასი
Everywhere you work
The same file opens with the same identity, comments and versions wherever you are. The drawing layer lets the browser compositor do the work, so it stays fast on a laptop battery.
Honest comparison
Good tools already cover parts of this. ucode is the combination: the live product, its structure, precise pins and the fix loop, on one canvas.
| Capability | Design tools | Feedback widgets | Code-side editors | ucode |
|---|---|---|---|---|
| Shows your running product with real state | Snapshot | Yes | Yes | Yes |
| Every device size side by side | By hand | No | Partly | 28 presets |
| Flows, scenarios and sitemap | By hand | No | No | Generated |
| Comments that name the component | No | No | Partly | Yes |
| Review lifecycle from draft to tested | Partly | Yes | No | Yes |
| Hands the fix to your own AI agent | Partly | No | Yes | Yes |
| Context pack for agents | No | No | No | Yes |
| Vector drawing from scratch | Yes | No | No | On the roadmap |
Categories as of September 2026. Tools move fast. If a row is out of date, tell us and we will fix it.
Roadmap
ucode grows from reviewing the product you have into creating the product you want. Every phase lands on the same canvas and the same file.
Pricing
Every plan includes the full canvas, all eight pages, pins and Optimize. Plans differ by included AI iterate runs and seats.
For one person and one or two products.
For people who ship every week.
For small teams and agencies.
Extra runs $0.75 each. Image and video generation is metered separately when it arrives.
FAQ
No. Iterate runs the CLI you connected, on your computer, with your own subscription. ucode proxies nothing. Captures of a local build stay local.
A local web build gives you live screens, pins and the iterate loop. A public URL gives you captures of every screen; live frames and component pins need the local build, because ucode cannot run its agent inside someone else's site.
Not for drawing from scratch, yet. Today ucode is where you see, review and fix the real product and document its structure. The vector editor is on the roadmap and grows on the same canvas.
Claude Code, Codex CLI, Gemini CLI and OpenCode, plus any MCP server you add. Each gets a role: iterate, images or research.
A small agent runs inside the live screen and reads the element under the cursor, its selector, box and styles, and the component name from the product's own tags. Products without tags get a tagging plan from Optimize.
iPad and Android tablets are next: touch and pencil first, review and comment, the same file you opened on your desktop.
CRABZLAB, short for Crazy Business Laboratory: a small crew that builds and runs its own products and grinds on them until they work. ucode is the tool we built to review and fix them, and now it is yours too.
The interface is in English and Georgian, and every component can carry aliases in both.
Open the real thing, point at what matters, and let your own AI ship the fix.