I Asked AI to Redesign My Website - Here’s What I Kept

Quick Summary
- An AI redesign gave a strong direction worth keeping, like the dark editorial look and section structure, but filled gaps with plausible, untrue details.
- Demo projects and pricing, a template signature and a contact form that contradicted working through Upwork were all thrown away.
- Ask whether each element is true, not just good-looking, and treat every name, number, quote, price and signature as a placeholder until replaced.
The AI website redesign came back with a portfolio full of projects, a pricing table and a handwritten signature. None of the three were mine.
Almost everything else was a strong direction: a look, a structure and a set of interactions with real character. The work that followed was editing, deciding line by line what to keep, what to change and what to throw away. That editing is the part I’d tell anyone to take seriously before using AI on their own brand.
The design was produced with Claude Design as a static HTML/CSS/JS prototype of 13 pages, with a README “handoff” that mapped each section to a future WordPress template and listed what still needed real data. The build itself is a separate story, told in I built a WordPress theme with AI. This post is only about the editing.
Kept: the parts that sound like me
The dark, editorial look. Most of what I show is interfaces and code. A dark, quiet canvas lets project images carry the color, and it reads more like a magazine than a template. I kept it without changes.
The small typographic details. Section titles sit under short, letter-spaced monospace labels. It’s a tiny thing, but it fits someone who spends his days in code, and it gives every section the same rhythm.
The section structure. The 13 pages were built from a vocabulary of repeatable sections, and that vocabulary became the WordPress theme: 24 section layouts that any page can stack. A new page is a new arrangement, not a new design, which is the kind of consistency I’d want to hand to a client too.
The loader. It fills a portrait silhouette while the page loads. That one is personal in the most literal sense: it’s my outline. It shows once per browser session rather than on every page, because a loader on every click stops being a welcome and becomes a toll.
The hero ribbon. A curved, 3D strip of project images. It shows range in a single gesture, before anyone has scrolled.
The motion. Smooth scrolling with Lenis, parallax and a custom cursor all stayed, and the design’s CSS and JavaScript were kept as delivered. Motion has a cost, so it’s worth saying that the site respects the reduced-motion setting for people who ask their system for less of it.
Changed: the parts that met real use
A prototype shows how a site looks. Real content and real visitors show where it needs to bend.
Project pages moved to /project/. The old projects post type kept its 45 projects and all their data, but the public URL base changed from /projects/ to /project/ for single projects, and the list of all projects moved to /portfolio/. Every old URL answers with a permanent (301) redirect, and the SEO plugin’s cached URLs were reset so it stopped pointing at the old addresses. You can see the result on the portfolio page.
Testimonials are hand-picked. One long review made its carousel card look odd, so I now choose which quotes appear, and in what order, from the theme settings. The carousel is a format with limits, and the quotes in it should fit the format instead of fighting it.
Code blocks wrap. My blog has more than 220 older posts, most of them short code snippets. In a narrow column, a horizontal scrollbar hides the end of every long line, and on a phone that’s a lot of lines. Code hidden behind a scrollbar is easy to miss. Wrapping keeps the whole snippet visible, and the change is two CSS declarations:
.code-block__pre {
white-space: pre-wrap; /* keep indentation, wrap long lines */
overflow-wrap: anywhere; /* long URLs and strings break too */
}Search and filters are live, and the URL keeps up. The blog search and category filter update results without a page reload. The address bar is kept in sync, so Back and Forward work and a filtered view can be shared as a link. A filter that breaks the Back button feels quick for about five seconds.
“Load more” respects the filter. On the portfolio, “Load more” works within the selected category, so filtering and paging never pull in different directions.
Threw away: the parts of the AI website redesign that weren’t true
This is the list that matters most, because every item on it looked finished.
The contact form. In the prototype it sent nothing, which was expected. The real issue was that it shouldn’t exist at all. I work with clients through Upwork, and contracting outside Upwork breaks Upwork’s rules. So the form is gone, and /contact/ redirects (301) to my Upwork link. A form that contradicts how you actually work is worse than no form.
The signature. A handwritten signature image, carried in from a template. It looked personal, which is exactly the problem: it was the one element pretending to be me that wasn’t.
The demo projects and demo pricing. Placeholder work and placeholder prices are there to make a prototype feel complete. On a live site they’re claims, and they needed replacing with real ones. The featured work now reads from the real portfolio.
Links to pages that didn’t exist. The prototype linked to pages the site didn’t have. Each link needed a real destination or had to go.
The handoff README had flagged some of this itself: placeholders, demo projects, a form that sent nothing. Others, like the signature and the links to missing pages, were caught in review. That’s worth remembering. A generator’s list of what’s unfinished is its own view of its work, and the leftovers it doesn’t recognize as leftovers are the ones to hunt for.
The same instinct extended beyond the design. The old site still had WooCommerce pages (shop, cart, checkout, my account) with no store behind them. They now return 410 Gone, which is the honest answer.
What this says about using AI to redesign your own website
Look at what ended up on the “threw away” list: a signature, sample projects, pricing tiers, a contact form. Those are the things a portfolio site usually has. I think the AI filled them in because they’re plausible, and plausible is the median of every site like mine. That median is where identity goes missing.
The parts I kept were different in kind. They were a direction, not a set of claims. A dark editorial look doesn’t say anything false about me; a signature from a template does.
So the review question that mattered wasn’t “does this look good?” It was “is this true?” True about my work, about how clients can reach me, about what I charge. That’s the heart of the difference between an AI-generated website and a well-designed one, and it’s why the about page is the page I’d least want an AI to write alone.
If you’re about to do the same with your own site:
- Keep the direction AI gives you if it fits; direction is where it’s strongest.
- Treat every name, number, quote, price and signature in the output as a placeholder until you’ve replaced it.
- Change whatever fights with real content and real use: URLs, long testimonials, long lines of code.
- Throw away anything that contradicts how you actually work, however finished it looks.
- Check every link against a page that exists.
After more than twelve years of building for the web, the most useful thing I brought to this redesign wasn’t design skill. It was knowing which parts of a very convincing draft weren’t me.

