Battle-tested prompts for v0, Cursor, Claude and other AI tools. Copy, tweak, ship.
20 prompts
Aurora SaaS Hero
Starter
HeroPremium AI-startup landing hero
Build a hero section using a deep navy background (#0a0e27) with a soft aurora mesh gradient (purple → cyan → magenta) at 40% opacity. Use Syne 800 for an 80px headline, Plus Jakarta Sans 18px for the subhead. Add one pill-shaped CTA with a subtle inner glow. No stock illustrations.
BoltUse semantic tokens; add CSS variables for the gradient stops.
v0Wrap in <section className='relative isolate'> and use Tailwind arbitrary values.
Bento Feature Grid
Intermediate
LandingApple-style feature showcase
Generate a 6-card bento grid (2 large + 4 small) in CSS Grid. Each card has rounded-3xl corners, 1px subtle border, soft inner gradient. Largest card spans 2 cols, contains a product screenshot placeholder. Use Geist headings, Inter body. White bg, ink text, no shadows.
Linear-style Dashboard
Advanced
DashboardB2B SaaS app shell
Create an app shell with a 240px collapsible left sidebar (icon + label, hover states), a 56px topbar with command palette trigger (⌘K), and a content area with breadcrumbs. Use #0a0a0a sidebar, #fafafa content, Inter Tight everywhere, 13px base. Density: tight.
Brutal Pricing Cards
Starter
PricingIndie SaaS pricing block
3 pricing cards with thick 4px black borders and 6px hard offset shadows. Cream background, ink type, one yellow accent card. Space Grotesk display, JetBrains Mono for prices. No gradients, no glow.
Dopamine Onboarding
Intermediate
OnboardingConsumer signup flow
3-step onboarding with a chunky progress bar (rounded full, lime accent), oversized rounded buttons (radius-2xl), Baloo 2 headings. Each step has one big illustration slot, one input, one confetti micro-interaction on submit.
Glass Pricing Hero
Intermediate
PricingPremium pricing with depth
Pricing section with 3 frosted glass cards (backdrop-blur-2xl, white/10 bg, white/20 border) on a dark mesh-gradient background. Plus Jakarta Sans, oversized prices in Cal Sans 72px.
Terminal Landing
Advanced
LandingCLI/dev tool homepage
Single-column landing styled as a fake terminal: black bg, lime green Fira Code text, blinking cursor, ASCII-art logo, fake $ prompt commands typing out the value prop. CTA = `npm install ___`.
Editorial Magazine Layout
Advanced
LandingContent-first SaaS or media
Magazine-style layout: 12-col grid, Bebas Neue 200px masthead, 2-col body in Lora 18px, drop caps, pull quotes, hairline rules between sections. Cream paper bg, ink type. No buttons — only text links.
Data Dashboard Card
Intermediate
ComponentSingle metric tile
Build a metric card: label (11px IBM Plex Mono uppercase tracked), giant number (Geist 48px), delta chip (green/red), 60-day sparkline using SVG paths. Tight padding, 1px border, no shadow.
Skeleton Refactor
Starter
RefactorReplace spinners with skeletons
Refactor all loading states from <Spinner /> to skeleton placeholders matching the actual content shape. Use shadcn <Skeleton /> with realistic widths (e.g. w-3/4 for titles, w-full h-32 for images).
Mobile-first Audit
Intermediate
RefactorFix desktop-only layouts
Audit this page for mobile (375px). Fix: text overflowing, fixed widths, hover-only interactions, tap targets <44px, horizontal scroll. Use sm:/md:/lg: breakpoints, never assume hover.
Hydration Mismatch Hunt
Advanced
DebugFix SSR/CSR drift
I'm getting a hydration mismatch warning. Find any uses of Date.now(), Math.random(), window.*, localStorage in render bodies. Move them into useEffect or guard with typeof window !== 'undefined'.
Empty State Polish
Starter
ComponentMake empty pages delightful
Design an empty state: centered, soft icon (Lucide, 48px), one-line title, one-line description, one primary CTA. Use muted tones. Don't apologize — invite action.
Form Field System
Intermediate
ComponentConsistent inputs
Build label + input + helper + error pattern. 14px label, 16px input (prevents iOS zoom), 12px helper. Error state = red border + red helper, success = green check inline. Focus ring: 2px ring + offset.
Hero Variant A/B
Starter
HeroTwo heroes to test
Create two hero variants for the same product: (A) headline-first, single CTA, no image. (B) headline + subhead + screenshot mockup + dual CTA. Identical copy, different layouts. Same visual system.
Stripe-style Section
Advanced
LandingPremium product section
Build a section with an animated mesh gradient backdrop, large rotating SVG glyph, headline that animates in word-by-word on scroll. Use framer-motion. Inter Tight 64px headline. Generous 160px vertical padding.
Notification Toast System
Intermediate
ComponentApp-wide feedback toasts
Build a toast notification system with 4 variants: success (green), error (red), warning (amber), info (blue). Each toast has an icon (Lucide), title, optional description, and auto-dismiss after 4s. Stack from bottom-right, animate in from right with framer-motion. Max 3 visible at once.
Dark Mode Toggle
Starter
ComponentLight/dark theme switcher
Add a dark mode toggle button using a sun/moon icon (Lucide). Store preference in localStorage. Apply 'dark' class to <html>. Use Tailwind dark: variants throughout. Animate the icon swap with a 200ms rotate + fade. No flash on load — read localStorage before paint.
Waitlist Landing Page
Intermediate
HeroPre-launch email capture
Single-page waitlist landing: full-viewport hero with aurora gradient bg, centered headline (Syne 700 72px), one-line subhead, email input + submit button inline. On submit: replace form with 'You're on the list 🎉' message. Show a live counter '1,247 builders waiting'. No nav, no footer — pure conversion.
v0Use shadcn Input + Button components. Add form validation with react-hook-form.
CursorWire up to a Supabase table insert on submit.
Accessibility Audit
Advanced
DebugFix a11y violations
Audit this component for accessibility: check all images have alt text, all interactive elements are keyboard-reachable and have visible focus rings, color contrast meets WCAG AA (4.5:1 for text), form inputs have associated labels, ARIA roles are used correctly. List every violation with the fix.