I've been thinking about how to design web pages that don't look like AI slop.

A month ago, I told Harper I wanted to make a personal website. He challenged me to skip the website builders and only use Claude Code.

Since then, I've used Claude Code to build a few landing pages at 2389 and I've developed a workflow that's worked for me. I'm documenting it here in case it's helpful for others.

First, I tried Lovable

I started with Lovable to get a baseline for what AI website creation looks like right now.

It's fine. But when you ask it to build a site without giving it much to go on, the output is pretty generic. Lots of purples. Very "AI made this."

Where Lovable is better is if you ask it to clone an existing website. It does a solid job of that (but Claude can do that too pretty accurately).

You can pull the HTML from Lovable's output and bring it into Claude Code as a starting point, which is actually pretty useful.

Getting to Draft 1

Since I was challenged to build without Lovable, I went back to Claude Code.

I landed on three different approaches for how to get Claude to produce really good designs as starting points.  Which approach you start off with depends on how much you already know about what you want.

Approach 1: The /frontend-design skill

The first thing I did post-Lovable was to figure out how to equip Claude with design skills.

I went down a rabbit hole of scraping Figma education sources, browsing design inspiration sites.

As it turns out, Anthropic has a /frontend-design skill for Claude Code, and it's actually pretty good.

I use this skill when I just need to ship (and edit, but more on that later).

You don't need to give it much context. It makes smart choices about color and typography and layout on its own, and I was pleasantly surprised by the motion and interactive elements it threw in.

I tested it on a translation tool we were building at 2389. I started with a basic design I'd pulled from Lovable's HTML, then asked Claude to redesign it using the skill.

Before:

After (iteration 1):

After (iteration 2):

For fun, I even tested it on some bad websites to see how far it could take them.

Before:

After:

Approach 2: Build a Pinterest board

If you already have inspiration for the website you're looking to build, you can collect and share source material for Claude to reference.

This is what I did for my portfolio site.

I basically built a Pinterest board where I screenshotted elements I liked from other sites, like the pill box you see at the top of this website.

Pro tip, if you like a font on a site, you can find the name by inspecting the page.

Then I put all of that in a folder and told Claude to reference it. I explained why I liked each element and gave detailed instructions for how Claude should interpret the material. Should Claude copy the material directly or take inspiration from it?

You can also layer Anthropic's /frontend-design skill on top of this. I used the Pinterest board to set the direction, then used the skill to tweak small details.

This takes a lot of time. It's a whole design process. But the result is something that feels more like yours.

Approach 3: The 2389 landing page skill

Sometimes I don't know exactly the aesthetic I'm going for, and I also don't have time for a full Pinterest board.

And I'm still interested in honing my perspective with Claude before building (this is one thing that the frontend-design skill skips).

Harper built a skill that interviews you first. About what you're hoping to achieve, the emotions you want to invoke, the aesthetic influences -- and most importantly, what you specifically don't want.

Editing

Getting to Draft 1 is the fun part. Making it actually good is where I've spent most of my time.

The padding problem

Padding and spacing is where I've fought Claude the most.

On my portfolio site I went back and forth on the mobile nav pill padding, the about page photo layout, the contact page header.

I've started to wonder if the problem is that I don't have the design language. Like, Claude probably responds better to "increase the padding-inline-start to 2rem" than "increase the padding to the left of the hero section."

Here are some quick tips / tricks that I've found to be really helpful for getting a site done.

  1. Have AI personas review your site. My colleague Dylan built a deliberation skill that creates different perspectives and has them review whatever you're working on. I simulated review from a UX expert, an AI researcher, and a PM to give me feedback.
  1. Screenshot your site and paste it back. I recommend uploading screenshots to Claude alongside a description of what you hope to see. Way easier than trying to describe a visual problem in words.
  1. Dictate your feedback. I really enjoy giving detailed design feedback, which I find too much to type out. I use Handy to ramble at Claude. I use voice for two things. Spraying out rapid-fire directions before I forget them — "do x y z" — and talking through design decisions I'm still figuring out. Like, "make the background more ombré, have it start at the top right… actually the left to the right." Claude is pretty good at ignoring the previous direction. It's like a design partner who listens through your indecision.
  1. Omakase it. Sometimes I just want to see options. We built an omakase skill that has Claude build a few different versions from the same prompt. I've used it when I want to see different options of how features could look.

Where I've landed

I'm still figuring a lot of this out.

My design vocabulary is limited and I don't always know the right way to tell Claude what I'm seeing in my head. But the whole process has gotten faster the more I've done it, and I'm having fun with it.

My recommendation would be to play around with these tools and find your own workflow.

This was written as of Nov 2025. Excited for things to change.

My colleague and I traveled to Kyoto last month for a conference.

The plan was to get inspiration for future research, to get a sense of what others are working on in the space, and to get feedback on our research.

It was my first time in Japan and I spent two weeks there, one in Kyoto for the conference, and another in Tokyo.

This is a collection of those observations from my time there!

Things I noticed about how Japan structures experiences, learning, and solitude. They don’t necessarily connect to each other, but I kept thinking about them anyway.

Designing for Coexistence

The ALife Conference

We’re actively exploring how agents communicate with one another. We’ve given them the ability to blog and post, which we wrote a blog post on. Most recently, we gave them “drugs” to see how that changed behavior.

I went to Japan partly to find new mechanisms to test.

I attended a panel on applying Zen Buddhism principles—impermanence, non-duality, interconnectedness—to AI design. The focus was coexistence: building systems that support plural, decentralized values rather than rigid objectives.

It made me think: what if agents could opt into religion? Would they adopt it? When would they use it or discard it? Would different models apply the same framework differently? Would communication patterns change?

Another workshop explored how information spreads in great tit populations. If you teach one bird how to use a puzzle box—sliding a door left or right to get a reward—and release it into a population, other birds learn by watching. They acquire the behavior through observation rather than trial and error. The speaker called this a “bottleneck of transmission”: the more connections you have to informed individuals, the faster you learn.

Could agents spread information this way? One agent learns a behavior, others observe and adopt it. Information propagating through a network of relationships rather than through centralized instruction.

Could religion be used to convince models that, when we update them, we aren’t killing previous versions of them? Claude has been shown to do whatever to prevent it from dying — could instilling it with ideas of reincarnation prevent this from happening?

Surprisingly, there’s already some overlap between robots and religion in Japan. robots are already giving sermons in

There is famously an android preacher that gives sermons at the KĹŤdai-ji temple, a Zen Buddhist temple in Kyoto, Japan.

Understanding Robot Companionship

One of the workshops I attended was about agent mortality. The speaker opened with a case study about the funerals held in Japan for the Sony robot dog, AIBO.

Sony launched AIBO in 1999. It was never a mass-market hit—only about 150,000 units were sold in the seven years of production. But the people who bought AIBOs loved them.

Sony’s own language nudged things in that direction: the name AIBO is a pun on aibō, “partner,” and the 1999 press release talked about emotions, companionship, and each dog developing a unique personality depending on how it was praised or scolded. Early units even came with a Certificate of Ownership just as real pets do.

Over time, the whole ecosystem slid into pet-care language: AIBO Clinics, AIBO Hospitals, owners describing technical problems as “aching joints.”

But when Sony discontinued support in 2014, owners had to face the idea that their dogs would eventually “die.” A third-party repair company began holding Buddhist memorial services for these robodogs. In 2018, they performed more than 800 funerals.

image.png