Can a small model learn UI design?

Generate an interface, render it, judge what people would see, then train on that feedback.

Against supervised-only, visual RL earns 65.6% of the judge’s votes.

Live UI stream

LivePreparing the renderer
Waiting for a generated UI

Setting up the experiment. The first generated UI will appear here.

Grader · GPT-6.1 SolAwaiting grade
Waiting for a generated UI

One actual generated interface per frame. This is a live screenshot stream, not a screen recording.

Connecting…

What is happening?

Training and held-out evaluation are complete. Checkpoints remain private; there is no public model release.

Background

The original UIRL experiment trained a text model from screenshots scored by a vision model. This run tests a stronger starting model, a deterministic renderer, separate visual and executable rewards, and unseen UI briefs.

Methodology

AesCode-8B generates standalone HTML/CSS from text. GPT-6.1 Sol supplies supervised examples, then judges the student’s desktop and mobile screenshots. Online RL uses GDPO’s separate reward normalization with a DAPO loss, combining execution, content, geometry and visual criteria. The same output limit applies to every method. The final checkpoint is fixed, not selected on test results.

Generated pages run without JavaScript or external network requests. Native controls can be checked, but this experiment does not train working backends. All briefs and interface content are synthetic.

Results

Ties count as half a vote. Against supervised-only, the 95% interval from resampling whole briefs is 55.2% to 76.0%. RL earns 56.3% of votes against the untouched base and 32.3% against base best-of-four. HTML safety/completeness pass rates: 97.9% before training, 81.3% supervised-only, 87.5% after RL. These are model judgments, not measured human preferences.

Discussion

AesCode already learned visual code generation before this experiment. We tested adaptation to responsive product UIs, not design from scratch. Training and blind evaluation used GPT-6.1 Sol with different prompts, so preference can still reflect the same model’s taste. There was no human preference study. The four held-out task families are a narrow synthetic test, and the interval does not capture every source of uncertainty. Best-of-four spends four generations and ranking calls per delivered UI.

Conclusion

Visual RL improved on supervised-only, but did not establish a reliable gain over the untouched base model. Treat the adapters as research betas, not a proven general upgrade.

Checkpoints retained privately. No public model release.

Appendix

24 held-out briefs across booking, settings, pricing and search, with 2 generation seeds each. 288 evaluation candidates and 144 blind comparisons. Supervised warm start: 64 accepted examples, 4 epochs, 32 updates. Visual RL: 64/64 updates, four generations per prompt, rank-32 LoRA. Student: microsoft/AesCode-8B, pinned revision fd63cd69a43700f06b0fcefee6fd40cc047ad1eb. Judge: GPT-6.1 Sol, high reasoning. B200, BF16, TRL 1.15.0. Browser: Chromium 153.0.8010.12; 1280px desktop and 390px mobile. Bootstrap: 10000 brief-cluster resamples. No inference-time image input to the student. Evaluation resumed from saved outputs after a process runtime cap; model, seeds and scoring settings were unchanged.