← Back to designs

1000 Design Vibes

Burning my Claude Max limits to the ground

620 designs generated
12 batches
380 to go

I was working on a project and hated the design because I'm a terrible designer. I asked Claude to generate a few options. That worked well enough that I wondered: What if I described a design using a bunch of different dimensions and let Claude go nuts? And once you have a few options why not make a thousand?

What Didn't Work

I started with 35 dimensions. Color theory, typography style, visual density, cultural influence, UI paradigm, you name it. I figured more control meant better results. You can see all of the insane dimensions here.

Turns out randomly combining 35 dimensions produces chaos. "Brutalist + playful + corporate + neon + Japanese minimalist" is not a coherent design brief. The results were... wacky. Some interesting and fun to look at, but nothing you would actually use (maybe).

What Sorta Works

My first really good "batch" (see below) minimal-100 uses just 5 dimensions. The agent picks everything else to create a coherent design. Turns out throwing a few constraints at Claude Code and letting it figure out the rest produces much better results.

Approach
Result
35 random dimensions
Wacky, conflicting designs
5 core dimensions
Coherent, polished designs

Dimensions I Used:

Everything else like typography, spacing, colors, shapes, etc. was filled in by the agent. The results were better. It might be fun running the model with another set of core dimensions than I ran.

Can I use these designs?

Sure. At the top of each design is supposed to be some instructions for AI Agents to interpret the design and apply the design to a project (sometimes the subagent misses and doesn't give instructions). If you happen to use one of these designs and it works pretty well, give me a shout at hey at dunn dot us. I don't claim to own any of these.

Vibe Design Pipeline

Here's how this repo takes a design from random numbers to a real HTML file:

1

Generate a Manifest

Python picks random values for each dimension, creates a unique seed, and generates a creative name.

2

Spawn Subagents

Claude Code reads the manifest and launches parallel subagents. Each one takes a design spec and generates a complete HTML file.

3

Validate & Collect

Each design goes through validation before being moved to the final folder.

The 35 Dimensions (if you want to go nuts)

You can still use all 35 dimensions if you want to experiment. There are 412 possible values total, including 158 different functional directions. Some of these matter a lot, some maybe don't matter at all.

Visual Style

  • UI Paradigm
  • Design Era
  • Density

Color System

  • Color Theory
  • Temperature
  • Saturation
  • Contrast
  • Palette Mood
  • Light/Dark Mode

Typography

  • Heading Font Class
  • Body Font Class
  • Scale Ratio
  • Case Treatment
  • Letter Spacing
  • Line Height

Shape & Space

  • Corner Radius
  • Spacing Base
  • Border Style
  • Shadow Style
  • Container Style

Layout

  • Grid System
  • Alignment
  • Hierarchy Approach
  • Page Structure
  • Navigation Pattern

Texture & Detail

  • Surface Texture
  • Gradient Usage
  • Icon Style

Context

  • Industry
  • Target Audience
  • Emotional Tone
  • Cultural Influence
  • Functional Direction

Want to try this?

The code is on GitHub. I've only used this with a Claude Max subscription. One of these days I'll run with other models. Or it may be fun to park it for a year and run it against new models.

# Generate a manifest with 20 designs (all 35 dimensions)
python design_vibes.py manifest --count 20 --name "my-batch"

# Generate with just 5 core dimensions (recommended)
python design_vibes.py manifest --count 20 --name "my-batch" --core-only

# In Claude Code, generate the designs
"Generate designs for outputs/2026-01-07-my-batch"

Design Runs

Here's all of the "design runs" I ran. Click to expand and see the approach used.

the-250 Largest batch - 5 core dimensions, agent picks the rest
250 designs Sonnet

Design Guide

DESIGN_GUIDE_MINIMAL.md →

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read the design guide at DESIGN_GUIDE_MINIMAL.md and manifest for this batch.

Design: {name}
Tagline: {tagline}

Core Dimensions:
  functional_direction: {value}  ← PRIMARY: this MUST look like a {value}
  design_era: {value}
  emotional_tone: {value}
  industry: {value}
  color_mode: {value}

You choose all other design details (typography, colors, spacing, etc.) to create a coherent design.

Write to: outputs/2026-01-08-the-250/.staging/design-{id}.html
minimal-100 Minimal guide approach - 5 core dimensions only
100 designs Sonnet

Design Guide

DESIGN_GUIDE_MINIMAL.md →

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read the design guide at DESIGN_GUIDE_MINIMAL.md and manifest for this batch.

Design: {name}
Tagline: {tagline}

Core Dimensions:
  functional_direction: {value}  ← PRIMARY: this MUST look like a {value}
  design_era: {value}
  emotional_tone: {value}
  industry: {value}
  color_mode: {value}

You choose all other design details (typography, colors, spacing, etc.) to create a coherent design.

Write to: outputs/2026-01-07-minimal-100/.staging/design-{id}.html

Notes

First really successful batch. The minimal approach produced much more coherent designs than specifying all 35 dimensions.

functional-100 158 functional directions, Sonnet quality
100 designs Sonnet

Design Guide

DESIGN_GUIDE_LOOSE.md →

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read the design guide at DESIGN_GUIDE_LOOSE.md first.

Design: {name}
Tagline: {tagline}

The functional_direction "{value}" is PRIMARY - this page MUST look like a {value}.

All 35 Dimensions:
  ui_paradigm: {value}
  design_era: {value}
  density: {value}
  color_theory: {value}
  color_temperature: {value}
  ... (30 more dimensions)
  functional_direction: {value}

Write to: outputs/2026-01-07-functional-100/.staging/design-{id}.html
batch-100 First big batch with all 35 dimensions
100 designs Haiku

Design Guide

DESIGN_GUIDE_LOOSE.md →

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read the design guide at DESIGN_GUIDE_LOOSE.md first.

Design: {name}
Tagline: {tagline}

All 35 Dimensions:
  ui_paradigm: {value}
  design_era: {value}
  density: {value}
  ... (32 more dimensions)

Write to: outputs/2026-01-07-batch-100/.staging/design-{id}.html

Notes

Used Haiku model for speed. Produces wacky, sometimes conflicting designs. Interesting but often not usable.

test-weighted Testing weighted dimension sampling
10 designs Sonnet

Design Guide

DESIGN_GUIDE_LOOSE.md →

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read DESIGN_GUIDE_LOOSE.md first.

Design: {name}
Tagline: {tagline}

Dimensions (weighted sampling - prefers common values):
  ui_paradigm: {value}
  design_era: {value}
  ... (33 more dimensions)

Write to: outputs/2026-01-07-test-weighted/.staging/design-{id}.html
test-minimal Testing minimal prompt approach
10 designs Sonnet

Design Guide

DESIGN_GUIDE_MINIMAL.md →

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read DESIGN_GUIDE_MINIMAL.md first.

Design: {name}
Tagline: {tagline}

Core Dimensions:
  functional_direction: {value}
  design_era: {value}
  emotional_tone: {value}
  industry: {value}
  color_mode: {value}

Write to: outputs/2026-01-07-test-minimal/.staging/design-{id}.html
test-doc-improvements Testing improved documentation in designs
10 designs Sonnet

Design Guide

DESIGN_GUIDE_LOOSE.md →

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read DESIGN_GUIDE_LOOSE.md first.

Design: {name}
Tagline: {tagline}

All 35 Dimensions:
  ui_paradigm: {value}
  design_era: {value}
  ... (33 more dimensions)

IMPORTANT: Include extensive HTML comment documentation at the top of the file
for LLM readability. Document design choices, CSS variables, and usage patterns.

Write to: outputs/2026-01-07-test-doc-improvements/.staging/design-{id}.html
test-core-only Testing core-only dimension approach
10 designs Sonnet

Design Guide

DESIGN_GUIDE_CORE.md →

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read DESIGN_GUIDE_CORE.md first.

Design: {name}
Tagline: {tagline}

Core Dimensions (you choose the rest):
  functional_direction: {value}
  design_era: {value}
  emotional_tone: {value}
  industry: {value}
  color_mode: {value}

Write to: outputs/2026-01-07-test-core-only/.staging/design-{id}.html
nav-test Testing navigation fix. Nothing to see here
3 designs Haiku

Design Guide

DESIGN_GUIDE_LOOSE.md →

Notes

Quick test batch to verify navigation script stripping works correctly.

full-test First batch with strict design guide
20 designs Sonnet

Design Guide

DESIGN_GUIDE.md → (strict version)

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read DESIGN_GUIDE.md first (strict version with detailed requirements).

Design: {name}
Tagline: {tagline}

All 35 Dimensions:
  ui_paradigm: {value}
  design_era: {value}
  density: {value}
  ... (32 more dimensions)

Write to: outputs/2026-01-06-full-test/.staging/design-{id}.html
ab-test-loose Haiku vs Sonnet comparison
10 designs Mixed

Design Guide

DESIGN_GUIDE_LOOSE.md →

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read DESIGN_GUIDE_LOOSE.md first.

Design: {name}
Tagline: {tagline}

All 35 Dimensions:
  ui_paradigm: {value}
  design_era: {value}
  ... (33 more dimensions)

Write to: outputs/2026-01-06-ab-test-loose/.staging/design-{id}.html

Notes

A/B test: designs 1-5 used Haiku, designs 6-10 used Sonnet. Sonnet produced significantly better results.

test-batch Where it all began
7 designs Sonnet

Design Guide

DESIGN_GUIDE.md →

Agent Prompt Template

Generate design #{id} for 1000 Design Vibes.

Read the design guide and manifest, then create a complete HTML file.

Design: {name}
Tagline: {tagline}

Dimensions:
  ui_paradigm: {value}
  design_era: {value}
  ... (33 more dimensions)

Write to: outputs/2026-01-06-test-batch/.staging/design-{id}.html

Notes

The very first test run. Just seeing if the whole thing would work. It did!