Hey HN,<p>I've been leveraging LLMs to quickly build out React apps, which is great, but I'm really struggling with the design aspect. My apps function well, but they lack that polished look, and I end up in an unproductive loop of CSS adjustments.<p>Has anyone explored using LLMs specifically for design improvements? How can they be harnessed to create more visually appealing outcomes without the endless tweaking?<p>Thanks!
It depends on what your setup looks like. If your using tailwind and a headless component library like radix or shadcn. LLMs can provide you with pretty decent looking layouts from very simple prompts. If your using plain CSS outputs can vary widely in quality, at least from my own experience.
Yes, this does exactly that<p><a href="https://chromewebstore.google.com/detail/design-copilot/hgaldpfdgmmojgdlaiapgndeicgdbldp" rel="nofollow">https://chromewebstore.google.com/detail/design-copilot/hgal...</a><p>Screenshot component -> design feedback, repeat loop , all without leaving your locally server page
Use Tailwind. It's a massive difference from just asking the LLM to write raw CSS. Tailwind provides a semantic layer that allows them to actually understand it.
They can't. LLMs are the wrong tool for the job, since they can only predict code that might do what you want, not follow actual style or design guidelines. We don't have a technology for that. It's still human work.
Yes using tailwind helps. In my experience you can use tools like vercel v0 to prototype design styles quickly and see which one you like. This step can be done manually if you have design experience and know what you want. Then you should write it down in a design document with specs like color scheme, font, overall style (minimalistic, futuristic, etc). This ensures that the LLM will keep this design style as context when creating components. It doesn't always work but it's better than relying on its internal context window.
Commit to a design system and build all your features to the tee to the system. That’s literally what it’s for as it takes design decisions out of the hands of the developer.<p>Material UI is kind of old looking now, but widely used.
As others have said use Tailwind. But using an LLM pretty much guarantees that "endless tweaking".<p>They're great for getting <i>something</i> up as a starting point. But at least right now, you really are going to want to do the hand tweaking and polishing yourself.<p>The people who are going to get the most benefits from this are those that adapt to this workflow -- not trying to force the LLMs to do things they can't but rather working in conjunction with their limitations and augmenting them with your own skills and letting them augment you with their capabilities. It's a give and take. You still need to be in the loop to have the best outcomes.