The Web Principles AI Hasn't Retired
Ask an AI tool to build you an online store today and it will. Home page, collection pages (category pages, PLPs, whatever your platform calls them), product pages, all the bells and whistles, within minutes. It all looks like it should. It's plausible, it looks like it works. You give it a whirl, place a test order, and you're happy.
But "working" and "good" aren't the same thing.
Producing code is easy now, and produced code tends to look finished while quietly skipping the parts that matter for that feel of polish. Sometimes it doesn't even look finished. But if you're not opening it and reviewing it, you'll never know.
AI has gone from a cool new toy to a default in about two years. Most developers will use some form of it daily, whether that's autocomplete, a chat window, or a full agentic workflow. That's a genuine gain. But three things shifted at the same time: code ships faster and reviews aren't as detailed as they used to be; AI output looks complete and arrives with confidence, which makes it easy to under-scrutinise; and developers earlier in their careers are learning to code alongside AI from day one, so what counts as "understanding what you're building" is changing.
This one is for anyone who touches a website build. A merchant relying on a dev team, a junior developer learning to use AI well instead of blindly, or any developer who cares about the standard of what they're shipping.
Why the principles still matter
None of this is an argument against AI. It's brilliant, used well. That said, there are a few principles I learnt early on that definitely still matter:
- Focus on the user.
- Keep it simple.
- Don't repeat yourself.
- Understand what you're building.
None of these are really about code. Code is just the mechanism to get a result. A simple result that's user focused and reusable, or at least isn't rebuilding something that already exists, is likely a well built feature. That test works the same whether a person typed it or a model generated it.
Focus on the user, whoever they might be
Understanding your audience was key before and it's still key now. If you're building human facing systems, accessibility is part of the job. Performance isn't optional. And viewing a site statically is never going to give you the experience an actual user has.
Is it fast? Or does it just work?
Generated code tends to optimise for solving a problem in a bubble, which gives you solutions tuned for "does it run" instead of "does it run well, all the time." That matters on the web, and it matters more in eCommerce. We've been taught for years that the link between page speed and conversion rate is unforgiving. Slow features cost sales. Agentic commerce is taking off, but the older channels haven't disappeared and still need optimising for.
So: a feature complete component that pulls in a large library to give you a carousel you already have elsewhere on the site (see: don't repeat yourself) is going to cause performance issues. That same carousel loading every slide's assets up front, regardless of position, regardless of whether the user has shown any intent to scroll that far, gives you bloat that gets paid for on every single page view.
None of this breaks the page. Look at the final output and the feature looks great. It's just slower than it ever needed to be.
This isn't to say AI built features aren't performant. It's to say someone has to be looking. We review AI generated code because we've spent years resolving exactly these kinds of bottlenecks, and we had that habit long before ISO 42001 gave us a reason to write it down.
Does it work for everyone?
Generated HTML markup frequently ignores semantic elements, reaching for generic building blocks where a purpose-built element is available. There are elements for headers, sections, footers, asides, dialogs and more. We can style those however we want, but it's important that we communicate the purpose of an element through its markup.
Visually it probably doesn't matter. To a screen reader it matters entirely. The web is inclusive, and semantic elements are how that actually happens.
Keeping it simple, and don't repeat yourself
The simpler a solution, the more robust it tends to be, because less can go wrong. And simplicity is much easier to reach if you pay attention to how you frame the problem in the first place.
Framing it as "I need a special discount mechanic for a summer promotion that lets customers matching profile X get Y off certain products when they complete action Z" is something AI can address brilliantly for that specific use case at that specific point in time. It builds a solution, you deploy it, your promotion works.
You haven't built a discount mechanism though. You've built this sale. Next time around you go and build it again. Building for reusability has always been a core development principle.
Will this still make sense in a year?
Solving the exact problem directly in front of it is something AI agents are excellent at. But a site built through a series of individually reasonable AI-driven changes, without anyone steering the overall structure, ends up a house of cards that nobody wants to touch in a year's time.
It's a simple example, but having a standard for how you build something as basic as a button means you reuse your buttons every time, and you don't have to re-invent the wheel (or button) when you decide to update your styling next year.
Real ownership of architecture decisions matters. Having a handle on the overall plan for a site is what keeps individual features simple. Extrapolate past the button and ask whether you'd still understand how that one-off feature works if you wanted to reuse it.
Do you understand why it works? Not just that it works?
If you can't explain why a piece of generated code works the way it does, you're going to struggle to debug it when it breaks. You'll struggle to extend it when requirements shift, which they will, constantly.
The difference between AI being an asset and AI being a liability comes down to who's using it and what they know, or think, to check for. The correctness of the output will be different for different people. Someone prompting for a cookie banner won't necessarily know it also needs hooking up to their Google Tag Manager container to be worth anything, if they've never had to deal with that before. It looks right either way.
Takeaway
AI hasn't really changed what makes a website good or bad. Focus on the user, keep it simple, don't repeat yourself (ironic, I know), understand what you're building. Four decent filters for building world class experiences, for the teams you work on and the people you build for.
If you're thinking through how AI fits into your own process, or want a second opinion on something you've built, we'd be happy to talk about it. Get in touch.


