RU version is available. Content is displayed in original English for accuracy.
Advertisement
Advertisement
⚡ Community Insights
Discussion Sentiment
62% Positive
Analyzed from 4233 words in the discussion.
Trending Topics
#end#front#frontend#don#more#something#design#bad#code#doesn

Discussion (101 Comments)Read Original on HackerNews
Yes ai can’t see, it only understands numbers. So tell it to use image magick to compare the screenshot to the actual mockup, tell it to get less than 5% difference and don’t use more than 20% blur. Thank me later.
I built a whole website in like 2 days with this technique.
Everyone seems to have trouble telling ai how to check its work and that’s the real problem imho.
Truly if you took the best dev in the world and had them write 1000 lines of code without stopping to check the result they would also get it wrong. And the machine is only made in a likeness of our image.
PS. You think Christian god was also pissed at how much we lie? :)
I built this frontend with Sonnet 4.5 last Fall and I’m about to “launch” it
I used only prompts, but those prompts included ChatGPT’s research on Memphis design ;)
Using codex for front end design is like asking the valedictorian mega nerd to paint your portrait. Gemini and Claude are both artists.
Very bad results—as expected from an AI.
Nothing to brag about here.
I built https://bridge.ritza.co (demo@example.com username and password if you don't want to sign up) as a trello/linear replacement without looking at a single line of code and it's both good enough for me and doesn't have the obvious AI frontend 'look' as it was copying from the starter.
Check out the other reply and scroll down a bit…
Was about to say the same thing
Share it. I used Claude earlier to test out its design capabilities and what I got as output was flat and tasteless.
The people I work with who find "AI" makes every part of their life easier were just bad at everything to begin with. The people who find "AI" making specific tasks easier have specialized skills and were previously relying on less specialized people for some support.
Nah, just at that something :-)
Don't get me wrong, AI can definitely be used as a tool by someone who knows what they're doing to avoid boilerplate. But anyone using it in a domain they aren't already an expert in will unknowingly accept AI f ups.
The "consultants wrote sloppy code" is one of those memes that never die.
The only thing that differentiates consultants from you is the contract type. All broad strokes accusations are just a consequence of in-house employees feeling threatened by their presence and having a vested interest in portraying themselves as infinitely better than any prospective replacement. You also see the same attitude in junior devs who complain that everyone else's code is shit, but the mess they themselves created is always justifiable and understandable.
If you were moved from your project right now and you placed someone at your spot under probation, I will guarantee that your work would be extensively criticized for being an unmaintainable pile of hacks.
I think it's the other way around. AI amplifies your software development skills. If you suck at software development, AI will follow your prompts and feedback and of course it will output an unmaintainable mess that barely works.
Here we are, listening to people who can barely put together a working website complaining that AI can barely put together a working website.
Honestly, I'm probably one of the biggest skeptics when it comes to GenAI - but at least for music, the recent models (as in the past year) do not suck. They are actually really, really good for what it is.
I have yet to hear anything truly original produced by those models. They seem to converge to the mean, and end up sounding very commercial, very average sounding - but in the sense of average "professional music". Suno can generate music which would have taken real people years to learn, thousands of dollars of equipment to make / produce, and pretty much ready for airplay - most listeners will not bat an eye.
Hell, these "AI artists" have been booked to festivals, since people can't hear the difference, and are enjoying the music.
I figure it will go the same way in other fields. The average consumer loses track of what's human made and what's AI made, and frankly won't care. The people "left behind" are the artists, craftspeople, etc. that are frustrated it came to this point.
Our idea of nostalgia was not that long ago. Also it could be generated on open weight local copyright free models that are super efficient in the future :P
I think that was the point being made; if you're looking at it from the perspective of being really good at something, its tendency towards an averaged result is substandard.
Copying something that exists isn’t particularly difficult. It may require immense skill and incredible dexterity in the case of some musical instruments, but it doesn’t really require much more than time, patience and the ability to follow instructions. The blueprint already exists. With LLMs we now have the ability to skip the time and patience parts of the equation, we can produce mediocrity more or less instantly.
I don’t see this as particularly different from what happened at the turn of the last century and beyond, with machines being able to sow faster, carve wood and metals at a higher pace and precision, moving folks and goods between geographical points faster than ever before, etc. etc. It’s not much different from the IKEAs of the world making mediocre copies of brilliant designs, making fortunes selling to the large masses that think good enough is just great. Because honestly man, most of the time it probably is.
I’m not surprised people go to concerts to hear a recording made by an LLM either. People have been going to see DJs sling records for decades. It’s not the music, or the artist, it’s the community. Beyoncé is an amazing singer, but people don’t necessarily come to her shows to see just her, they come to see everyone else. They might say they want to see her, but they already have a thousand times in tickelitock and myfacespacebookgrams. They come to feel connected to something, to experience community.
LLMs are incredibly good at churning out stuff. Good stuff, bad stuff, just a ton of stuff. Nothing original but that’s ok, most things pre-LLMs weren’t either. We just have more of it now, and fewer trees. The creatives that are able to harness these tools will be able to do more with less. (Ostensibly at least, until the VC subsidies… subside.) Because they are creative they might be able to form an original idea and string together enough mediocrity to realize it. They’ll probably get drowned out in a sea of mediocre copies in the end, but that’s just the same as it always was. It’s just faster now.
The platform owners and hardware manufacturers will remain king until the technology can run on my TI calculator, maybe we’ll get there before the VC money runs out. No wonder Nvidia’s been killing it. Creativity and originality will return once this bubble bursts I’m sure, the world has this amazing ability to correct itself, even if violently so at times. Or we all die perhaps. Either way, all we can do I suppose is ride this wave of mediocrity into the sunset. :o)
It's not passable even slightly.
Everybody with experience knows that FE has always been "harder" than BE - but BE the stakes are higher since it's the business. FE is often "just UI" and despite that being very important too, you can throw it away and start over a lot easier with a UI than you can with a BE platform.
I digress, AI sucks fucking dick at UI.
A quick profile on Safari shows some layout recalc happening regularly, but surely that shouldn't cause this bad of perf...
The last time I found something like this, it was because of 100's of box-shadows.
Edit: Sure enough, this cures Safari:
It's a combination of box-shadows and gradients.Edit 2: Ah, they're using shadow DOM for the img reflection, so we can't affect it. Good gravy is the shadow DOM stuff overwrought, it's 87 elements all told, just for one img.
Anyway.
Do people get the impression that LLMs are worse at frontend than not? I'd think it's same with other LLM uses: you benefit from having a good understanding of what you're trying to do; and it's probably decent for making a prototype quickly.
But unfortunately, the vast majority of people's pages are not like that. They just need a page that works. Ease of use and visual polish are both more advanced goals. And frontend pages written by AI—with only a bit of guidance from prompts, not even necessarily very good prompts (though of course precisely defined CSS styles and similar details will naturally produce much better results)—can end up far more polished and complete than what they would have written themselves.
Just look at the frontend work people made with Claude Code within only a few hours after the Claude Code source leak: https://news.ycombinator.com/item?id=47597085#47598853
Or look at what frontend pages written in the pre-AI era were like. For example, Debian's: https://www.debian.org/index.zh-cn.html
Or SQLite's: https://sqlite.org/
Here is another example: the official FreeBSD website: https://www.freebsd.org/
There are so many examples that I do not even need to pick them at random. These are at least world-famous major projects, and while their page design and practicality are not bad, they certainly cannot be called refined. As for the many much worse websites out there—sites that are genuinely painful to use—those are everywhere. Government websites are an obvious disaster zone. Or just look at the Japanese internet.
Do not have unrealistic fantasies about the skill level of most frontend developers. In fact, I believe that among frontend engineers as a whole, if we ignore efficiency and look purely at display quality, Claude is already good enough to rank at least in the top 5%—and that is probably still an underestimate.
I am in China, and in the past month I have heard two news stories: two well-known companies—iFlytek and NetEase—laid off all of their frontend staff and instead had backend engineers use Claude to generate the frontend.
I am not a frontend engineer myself, and it is beyond doubt that without the help of LLMs, the visual quality of the projects I write would be much worse. Not to mention building Windows native applications that actually fit Fluent guidelines despite having absolutely no prior WinUI 3 background.
I mean, yes look at the vibe coded sites people made after the second Claude Code leak! They are horrible, there are so many issues with them. Look at the existing comments some people with front-end / design knowledge made there.
Just because bad website existed before AI does not mean we should be happy to pump out more bad websites with AI.
The Lua site has some problems as well, like an uncessary border, text size and spacing, even when it's this minimal. You can get much faster and better results from using or taking inspiration from something like Astro Starlight or UnoCSS
Astro Starlight: https://starlight.astro.build/
UnoCSS: https://unocss.dev/
But of course, I agree that with AI you can create websites much faster, but it doesn't replace the knowledge needed to build a "good website".
To quote the article:
1. "It trained on ancient garbage" which is the by product of massive churn and this attitude leads to even more churn
2. "It doesn't know WHY we do things" because we don't either... even the paradigms used in frontend dev have needlessly churned
My fix? I switched from React/Next to Vue/Nuxt. The React ecosystem is by far the worst offender.
Good design is not always logical. Color theory, if followed, results in pretty bad experiences. And interestingly, good design can't always be explained in a natural language.
Main thing is, it's very hard to get AI to have taste, because taste is not always statistically explainable.
The best I've gotten to is have it use something like ShadCN (or another well document package that's part of it's training) and make sure that it does two things, only runs the commands to create components, and does not change any stock components or introduce any Tailwind classes for colors and such. Also make it ensure that it maintains the global CSS.
This doesn't make the design look much better than what it is out of the box, but it doesn't turn it into something terrible. If left unprompted on these things, it lands up with mixing fonts that it has absolutely no idea if they look good or not, bringing serif fonts into body text, mixing and matching colors which would have looked really, really good in 2005. But just don't work any more.
What are you using for the frontend? React component libraries?
Or do you mean something else?
If you are going to criticize LLMs for being out of date, at least make sure your understanding isn't out of date.
Frontend has no equivalent constraint. A component can be structured a hundred different ways, and "does it look right" requires vision the model does not have.
If I want good abstractions, sure, I can set up approvals and babysit it with reprompting, because it will do stupid things that an experienced engineer wouldn't. But the spaghetti also works in the sense that it takes the input types and largely correctly maps them to the output types.
That doesn't emarrass me with customers because they never see the internals. On front-end, obviously they will see and experience whatever abomination it cooks up directly.
Or is it that AI is not as creative?
Like I don't give it 100% responsibility for front end tasks but I feel like working together with AI I feel like I am really in control of CSS in a way I haven't been before. If I am using something like MUI it also tends to do really good at answering questions and making layouts.
Thing is, I don't treat AI as an army of 20 slaves will get "shit" done while I sleep but rather as a coding buddy. I very much anthropomorphize it with lots of "thank you" and "that's great!" and "does this make sense?", "do you have any questions for me?" and "how would you go about that?" and if makes me a prototype of something I will ask pointed questions about how it works, ask it to change things, change the code manually a bit to make it my own, and frequently open up a library like MUI in another IDE window and ask Junie "how do i?" and "how does it work when I set prop B?"
It doesn't 10x my speed and I think the main dividend from using it for me is quality, not compressed schedule, because I will use the speed to do more experiments and get to the bottom of things. Another benefit is that it helps me manage my emotional energy, like in the morning it might be hard for me to get started and a few low-effort spikes are great to warm me up.
The main limitation I think is that they're blind as a bat and don't understand how things stand visually and render in the end. Even the best VLMs are still complete trash and can't even tell if two lines intersect. Slapping on an encoder post training doesn't do anything to help with visual understanding, it just adds some generic features the text model can react to.
I will say though that multimodal capability varies between models. Like if I show Copilot a picture of a flower and ask for an id it is always wrong, often spectacularly so. If I show them to Google Lens the accuracy is good. Overall I wouldn't try anything multimodal with Copilot.
For that matter I am finding these days that Google's AI mode outperforms Copilot and Junie at many coding questions. Like faced with a Vite problem, Copilot will write a several-line Vite plugin that doesn't work, Google says "use the vite-ignore" attribute.
The design is still a problem though, precisely because I am not a designer. I don't know what's actually good, I only know what's good enough for me. I can't tell the difference between "this is actually good" and "this is vibe-designed slop" but I have enough experience to at least make sure the implementation is robust.