lucidstudio
engineering6 min read

Why every section in a Lucid project is hand-authored

The case for letting engineers write the components, and letting the AI pick which one to use.

By Hunter

Every AI website builder we’ve tried works the same way: the model writes the HTML, the model writes the CSS, and the model convinces itself the result looks good. It never does. The colours are nearly right. The type scale has a clear sibling in mind but can never quite place it. The spacing is technically correct and viscerally wrong. You end up with buildings made by someone who learned architecture from photographs.

We built Lucid against this, not to sidestep LLMs but to narrow what we ask of them. Our templates — every hero, every pricing table, every auth page — are authored by designers and engineers who care about the gap between passable and good. The AI picks which template to use for the section you described, fills it with your copy, and decides which kit’s variant best matches the mood you’re after. It does not write the component.

What this buys you

Three things, really. First, every output passes a craft bar: a real human decided what the hover states should be, what the motion timing should feel like, what to do when the viewport drops below 420 pixels. Second, nothing regresses: a template that shipped clean on Monday still ships clean on Friday, because no one is asking an LLM to re-derive it on every request. Third, and this is the one we underestimated: a whole category of LLM-characteristic bugs just doesn’t exist. No hallucinated imports. No near-right Tailwind classes that don’t exist in your version. No copy that subtly shifts on re-generation. The spec changes; the DOM is stable.

Where the AI still does work

The interesting part is everything the AI does decide. It picks the kit family (does this brand want editorial warmth or architectural restraint?). It picks the variant for each section (do we want the grid-3 features layout, or the bento, or the alternating split?). It writes the copy in the voice of the brand you described, using only the page slots the template exposes. It proposes the image prompts. It commits to a palette when you’ve picked the AI-generated kit. This is, it turns out, exactly the part AI is already excellent at: mapping intent to catalogue entries and generating content that fits a known shape.

The trade-off we made

You get fewer one-of-one components than you would with a freeform generator. If your brief is “a CRM, but with a totally bespoke analytics panel no one has ever seen,” Lucid won’t nail it on day one — we’ll pick the closest-fit templates and you can extend from there. That’s a real limit, and we’re honest about it on the compare page. What we trade for it is output quality that survives being shown to your most critical friend.

If you’re here because the last thing you generated looked like the last thing you generated, welcome. Try a free spec preview on the home page and watch the plan assemble itself. The whole process is free until you hit build.