5 steps to improve design on vibe coded projects - pt 2

Most people try vibe coding once or twice and then quit.

Not because the tools are bad.

Not because AI cannot build good interfaces.

They quit because they treat vibe coding like a vending machine.

They type:

And then expect something polished, original, responsive, animated, and production-ready.

That is not how it works.

Good vibe coding is closer to creative direction than magic. You guide the AI with clarity, references, structure, and small iterations. The best results come when you stop expecting the AI to guess what is in your head and start showing it exactly what you want.

Here is the process.

Step 1: Know exactly what you are building

Before opening Dualite, Lovable, Bolt, Replit, or any AI builder, get clear on what you actually want to build.

Not:

Be specific:

• A SaaS landing page with hero, features, pricing, testimonials, and CTA
• A dashboard with sidebar navigation, charts, filters, and cards
• A portfolio section with project previews
• A mobile app onboarding flow
• A waitlist page for an AI product

Every type of project has different layout needs.

A landing page needs storytelling.

A dashboard needs hierarchy and usability.

An app flow needs states, navigation, and user journeys.

Before prompting, write 2 to 3 sentences describing the final result as if you were explaining it to a client.

Example:

That becomes your foundation.

Step 2: Collect references before writing prompts

This is the step most people skip.

And honestly, this is where most of the quality comes from.

If you only describe what you want, the AI has to guess.

If you show references, the AI has direction.

I usually collect 3 types of references:

  1. One reference for overall vibe Colors, mood, typography, visual personality.
  2. One reference for layout How sections are arranged, how much spacing exists, how the page flows.
  3. One reference for animation How things move on scroll, hover, page load, or transition.

Good places to find references:

• Pinterest for UI moodboards and visual direction
• Dribbble for polished interface ideas
• Behance for full project flows
• Awwwards for high-end website animation
• Codrops for interaction and motion ideas
• Mobbin for real app UI patterns
• Figma Community for UI kits and design systems

You can also use screenshots, rough sketches, or even photos of hand-drawn wireframes.

The point is simple:

Don’t make the AI imagine everything.

Give it the look, structure, and motion.

Step 3: Create a master prompt before building sections

This is where most vibe coded projects start looking messy.

People prompt one section at a time:

Then:

Then:

Each section comes out with a slightly different style, spacing, animation, or component treatment.

That is why the final page feels disconnected.

Instead, create a master prompt first.

The master prompt should define:

• Project type
• Brand name
• Visual style
• Color palette
• Typography
• Layout rules
• Spacing system
• Animation behavior
• Sections to build
• References
• What not to copy

A structured JSON prompt works really well because it removes ambiguity.

Example:

{
  "project": {
    "type": "SaaS Landing Page",
    "brand_name": "Nexus",
    "tagline": "Data clarity for modern teams"
  },
  "visual_style": {
    "mood": "Clean, minimal, premium. Confident without being loud.",
    "color_palette": {
      "background": "#0A0A0F",
      "primary": "#6C63FF",
      "accent": "#00F0B4"
    },
    "typography": {
      "heading_font": "Clash Display or similar geometric sans",
      "body_font": "Inter"
    }
  },
  "layout": {
    "structure": "Full-width sections, centered columns, max 1200px",
    "spacing": "Minimum 120px vertical padding between sections"
  },
  "animations": {
    "entrance": "Elements fade up on scroll with 0.3s stagger",
    "hover_states": "Subtle scale on cards (1.02), color shift on buttons",
    "page_feel": "Smooth and intentional, not bouncy",
    "reference": "[Awwwards URL here]"
  },
  "sections_to_build": [
    "Hero with headline, subheading, CTA, and product preview",
    "Social proof strip",
    "Features section",
    "How it works",
    "Pricing with three tiers",
    "CTA footer"
  ]
}

This becomes the creative brief for the entire build.

Now every section that follows has a shared visual language.

You can create this inside ChatGPT or Claude by saying:

If your vibe coding tool has a prompt enhancer, use that too. Write your rough idea in plain language, then let the tool sharpen it into a more technical and structured prompt.

Step 4: Be specific about what to copy and what not to copy

References are useful, but you need to guide the AI properly.

Don’t just paste a website and say:

That usually creates generic or overly similar output.

Instead, say exactly what the reference is for.

Example:

Or:

Or:

This keeps the output original while still giving the AI useful direction.

A simple structure:

• Reference 1 = visual mood
• Reference 2 = layout structure
• Reference 3 = animation behavior

Now the AI knows what to borrow and what to ignore.

Step 5: Build in blocks, not the full project at once

Do not build the whole website in one prompt.

That usually leads to inconsistent design, weak spacing, and messy sections.

Build in blocks of 2 to 3 sections.

For a landing page, this could be:

Block 1: Hero + social proof
Block 2: Features + how it works
Block 3: Pricing + CTA footer

Each block should reference the master prompt.

Example:

This gives the AI enough context while keeping the task focused.

Once a section is close, don’t regenerate everything.

Refine it.

Step 6: Use small, precise edits instead of restarting

A lot of people waste time because they keep re-prompting the entire page.

If the output is 70 to 80% correct, don’t restart.

Give smaller instructions.

Examples:

• Increase vertical spacing between hero and social proof
• Make the CTA button more prominent
• Reduce animation speed slightly
• Make cards less rounded and more premium
• Fix mobile stacking in the feature section
• Make the heading more editorial and less startup-ish
• Add more contrast between background and cards
• Make the pricing cards visually stronger

If the tool supports element-level editing or interact mode, use that.

Click the exact element and say what needs to change.

This is much faster than writing a long prompt trying to describe which part of the page you are talking about.

Good vibe coding is mostly iteration.

Small improvements compound fast.

Step 7: Take animations seriously

Animations are often what separate decent AI-generated websites from polished ones.

A static page can look okay.

But a page with intentional motion feels more premium.

Use references from Awwwards, Codrops, LottieFiles, or Rive.

But again, don’t just say:

Be specific.

Useful animation terms:

• Entrance animation: how an element appears
• Scroll-triggered: animation starts when the user scrolls to that section
• Hover state: what happens when cursor moves over an element
• Page transition: how screens change between routes
• Stagger: elements animate one after another with delay
• Easing: the acceleration curve of the animation

Example prompt:

This level of detail makes a big difference.

The full workflow

Before starting:

• Write 2 to 3 sentences describing the final output
• Collect 3 to 5 visual references
• Collect 1 to 2 animation references
• Decide what each reference is for
• Create a master JSON prompt

During the build:

• Build in blocks of 2 to 3 sections
• Keep referencing the master prompt
• Use small edits instead of full regenerations
• Fix layout, spacing, font sizes, and mobile views step by step
• Use element-level edits wherever possible
• Review animations separately

After the build:

• Check mobile responsiveness
• Check spacing between sections
• Check typography consistency
• Check CTA visibility
• Check loading and hover states
• Publish or export only after the whole flow feels consistent

Useful resources

Pinterest
For moodboards, colors, and general visual direction.

Dribbble
For polished UI sections and layout inspiration.

Behance
For complete case studies and full page flows.

Awwwards
For premium websites and animation references.

Codrops
For interaction ideas and motion techniques.

LottieFiles
For ready-to-use micro animations.

Rive
For advanced interactive animations.

Mobbin
For real app UI patterns.

Figma Community
For UI kits, dashboards, landing pages, and design systems.

Refactoring UI
For learning practical design fundamentals.

Final point

The people getting great results from vibe coding are not doing magic.

They are just doing the preparation most people skip.

One clear idea.

A few strong references.

One master prompt.

Small section-by-section builds.

Precise refinements.

That is the difference between a random AI-generated page and something that actually feels designed.

Posted May 12, 2026, 6:18 AM UTC

10
Loading comments…