I shipped ImageStretcher — a free, in-browser tool that stretches width and height independently, without cropping and without uploading your file to a server — using Grok Build as the coding agent.

Coding agents are great at “make it run.” They are mediocre at “make it look like a product” unless you give them something stronger than please make it pretty. Pretty is not a type. Semantic tokens are. Install paths are. Motion presets are. Privacy constraints are.

This article walks through the three levers that kept the UI honest on ImageStretcher:

Tailwind CSS v4 as a token-first design surface

Aceternity + shadcn behind a registry guardrail