
For the past six months or so, we’ve been working really hard to get the AIs (or as I like to call them, the robots in the sky) to do a bunch of magical things. One of them just so happens to be web design.
Web design is not a new thing for me. I’ve been fascinated with it since I was twelve. (I am currently much older than twelve.) I’ve been fortunate enough to do web design-related work, in some form or another, for more than a decade.
Getting AI to make really good-looking websites isn’t a new problem either. I started working on it in 2024, and helped release a feature around it at a previous company in 2025. It’s only been two years. With how fast AI moves, it feels like a decade ago!
For this post, I want to share some of the observations and learnings we’ve picked up along the way, especially with the big boy models like Opus 4.8 and the recently released GPT-5.6 Sol.
Pictures over prompts
If you take one tip from this post, let it be this: giving AI visual context is one of the most powerful and efficient ways to help it produce good design.
I realized this very early, right when the model providers added vision. And it makes sense. That’s how we as humans think about, riff on, and work with design. You look at pictures. Lots of them. Things you like, things you don’t, until you start to form an opinion about what you want to make.
Imagine working with an interior designer. They’d show up with a lookbook: paint swatches, material samples, hardware finishes, a few nice photos torn out of a magazine, something they found on Pinterest. Just to see what you like and what you don’t. The purpose isn’t to smash it all together into a final design. It’s to help you develop a point of view.
Speaking of lookbooks: Lookbook is literally the name of one of our features. It helps users redesign their site when, for whatever reason, they’re not happy with it.

Using GPT Image 2.0, which is absolutely phenomenal at creating web design mock-ups by the way (saving that for a separate post), we’ve meticulously generated over a thousand designs meant to capture different aesthetics and industries. From the light and playful child care vibe to the sleek, dark, modern look every SaaS company seems to love. This “window shopping” experience exists to help you find what you’re looking for, or discover what you didn’t know you wanted.
Whether you pull something from Lookbook or bring screenshots of your own inspiration, do not, and I repeat, do not, skip this step.
You will have (way) more success with “here’s a screenshot, make this exactly” than with clever, compounding ways of sculpting a design.md file and writing a meta prompt for your prompt to do this and that. (Try it with Ploy, Claude Code, Codex, or whatever you’d like.)
Hand the same screenshot to both models, though, and they take it to different places.
Opus tends to hold a balanced type scale, even when the design is a little less standard. Sol reaches for very big text, especially on hero headings. GPT-5.5 was egregious about this. 5.6 is better, but it still does it sometimes.
Sol handles the more creative layouts, though. Intricate bento boxes, for example. Opus plays those safer.
Neither instinct is wrong. It just helps to know which one you’re arguing with.
Slop
I suppose you can’t have an AI design post without talking about the giant dirty elephant in the room. Slop.
To the credit of every single model provider out there, the base-level design capabilities of AIs in mid-2026 far exceed whatever the heck we had back in 2024 and 2025.
AI slop in web design is trickier to articulate than the stuff you see out of image or video generation. It doesn’t stick out as sorely as a sixth finger. (Usually.)
To me, slop isn’t a specific choice of font or color, like a serif on terracotta orange over a creamy background (looking at you, Claude). It’s generic design that gets a little too excited about decorating. Everything gets a flourish. Nothing gets a reason.
It’s kind of like if someone wanted to get you a gift, and they asked, “Hey, do you like frogs?” and you said, “Sure.” And the next day they show up with frog-themed things all over the place. A shirt covered in frogs. A pen with a miniature frog on the clicker end. A bobblehead frog, somehow with “I love frogs” printed across the bottom. All delivered in a nice, clean, cream-colored box with a terracotta orange bow, and a smile that says “Clean. You’re absolutely right.”
Sol has a tell too. It leans into the (micro) patterns you see all over SaaS websites. It likes to put things in boxes. Sharp boxes. Content divided up by horizontal and vertical lines.

Claude over-decorates. Sol over-structures.
Signal
To stop the slop, you have to get the model to focus on the signal inside the frog-filled noise, as token-efficiently as possible. Skills are great. They help. But if you have too many skills with too many instructions to do this and that, and maybe sometimes this, and maybe that sometimes, you’re just sending more frogs into the mix.
Even with the latest models, we’ve noticed AIs forget things all the time. Context rot is very real. So all those 50K-GitHub-star skills you found on socials somewhere? They start to degrade really quickly.
If I were to diagram it: AI is best at remembering its first set of instructions (i.e. the system prompt) and the last thing you said. As more and more context builds up, everything in the middle risks turning into frogs.

The best you can hope for is that on the turn just before the AI touches code, it has either received explicit design instructions or written a design plan of its own, hopefully with some visual references.
Your strongest signal is your first prompt and your last. Everything in between is you helping the AI get to its last prompt.
You can watch this play out differently in each model.
Sol is really stubborn without that final “here’s the design plan” step. The output can be good. It can also be sloppy in its own Sol way, sharp boxes and all.
Opus can certainly be stubborn too. It’ll reach for the safe layouts you’ve probably seen far too many times. But it will remember and honour a couple of things you asked it to do (or not do) once upon a time ago.
Opus remembers what you said and forgets to be interesting. Sol remembers to be interesting and forgets what you said. Either way, the design plan is what support (and maybe saves) the run.
Another way to look at this is the plan-then-build technique. Some folks start a brand new session to execute once they have a plan going. There’s a trade-off, though. The hand-off from plan to build is tricky to make feel good. To make it feel seamless and fast. (Something we’re continuously tinkering on.)
Opus and Sol
By now you can probably guess how I’d describe them. Opus 4.8 is “safer.” GPT-5.6 Sol is more “creative.”
Safe can be good. Safe is reliable. But safe can also mean boring. Stock. Generic. (Slop.)
Creative can be good too. It’s interesting. Kind of unexpected. In both good and bad ways. (Also slop.)
This doesn’t mean you need to dramatically change your workflow to accommodate one model or the other. It means adjusting your expectations of what their first outputs will look like.
Depending on your design, it’s best not to expect these models to get it right the first time, as exhilarating as the “OMG ONE SHOT” runs may be. What matters isn’t how one-shottable something is. It’s how much total time and effort it takes to get where you want to be.
Both models are great at fixing their fumbles and filling in their gaps. That’s the important thing.
Samples
Below are two design samples from Opus 4.8 and GPT-5.6 Sol, gathered through manual runs and automated evals.
The challenge is to redesign a website using the workflows I described above. The first is https://createcards.io/. The second is https://opergo.com/.
CreatECards
I don’t even know how many website builds I’ve done since joining Ploy. Too many.

Here’s some interesting data and samples from our automated web design and build evals.
| Mean per build | Opus 4.8 (n=11) | GPT-5.6 Sol (n=10) | Ratio |
|---|---|---|---|
| Cost | $3.06 (range $2.43-4.14) | $2.22 (range $1.60-2.79) | 1.38× |
| Time | 8m 00s (range 6m22s-11m00s) | 3m 42s (range 2m45s-4m42s) | 2.16× |
| Input tokens | 2.60M | 1.70M | 1.53× |
| Output tokens | 33.0K | 17.1K | 1.93× |
| Visual score | 0.936 | 0.970 | n/a |
| Page height | ~5,500px | ~4,500px | n/a |
From start to finish, GPT-5.6 Sol not only produced (subjectively) better-looking results, it also took less time and used fewer tokens on average. Amazing.
The one I keep coming back to is output tokens. Sol wrote roughly half as much code, and the pages it built came out about a thousand pixels shorter. Less markup, less scrolling, a higher visual score. It didn’t win by doing more. It won by doing less.
OperGo
This one really surprised me. (I’ve done so, so many OperGo redesign runs, hah.)

These samples are from manual runs I did myself. Each took maybe five to eight minutes from beginning to end, at roughly $4.00 to $8.00 worth of tokens. (Note: we’re always working on optimizing costs.)
Opus 4.8’s output wasn’t bad. The custom generated images certainly help a lot.
But boy. GPT-5.6 Sol was something else. The layout, the composition, the consistency… the restraint.
Takeaways
Use pictures. Visual references are your strongest prompts.
Choose a look. Discover and define the cohesive look you want. Use AI to explore with you until something sticks.
Prep your materials. Gather the images and content you want on the site. Use AI to draft what you may (or may not) want to say.
Create a plan. Combine the look and your materials, and outline the build top to bottom. What sections do you want? What goes in them? How will you handle typography? Imagery? Components?
Once you’re ready, let the robots in the sky do their thing. Then riff and refine until you’ve got something special. Something yours.
Your homepage is the digital and visual expression of your brand and your idea. A collection of content and images, storytold through fonts, imagery, section layouts, interactions, and little bits and bobs in between..
So. What’s the story you want to tell?
P.S. We rolled out GPT 5.6 Sol to be our default model today. Give it a spin!



