Hair Salon Website Prompt — Premium Beauty Studio Template for Bolt, v0 & Lovable

Generate a luxury hair salon website in minutes with this AI prompt. Warm cream + rose gold design, before/after slider, booking form & infinite service marquee. Works in Bolt, v0 & Lovable instantly.

# Atelier Blanche — Hair Salon Website Prompt ## 1. Goal Statement Build a premium beauty studio website for Atelier Blanche, a high-end hair salon brand with a warm editorial aesthetic that feels like a luxury fashion magazine — cream backgrounds, rose gold accents, and rich serif typography. ## 2. Tech Stack ``` React + Vite + TypeScript + Tailwind CSS + Framer Motion (motion/react) + shadcn/ui + lucide-react ``` ## 3. Design System — Colors ```css :root { --background: 40 33% 97%; /* warm cream #faf6f0 */ --foreground: 25 14% 10%; /* near-black #1a1612 */ --primary: 15 35% 62%; /* rose gold #c4907a */ --primary-foreground: 0 0% 100%; --muted-foreground: 25 10% 55%; /* warm mid-tone */ --border: 30 20% 88%; /* warm light border */ --card: 38 30% 94%; /* warm card bg */ --accent: 15 35% 62%; /* rose gold */ } ``` ## 4. Typography ```html <link href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&family=Raleway:wght@300;400;500;600&display=swap" rel="stylesheet" /> ``` - **Display headings (H1, H2):** Libre Baskerville, 400–700, italic variant for pull quotes - **Body / navigation / labels / buttons:** Raleway, 300–600, letter-spacing 0.05–0.15em - **Price / emphasis numbers:** Libre Baskerville, 400 - **Uppercase labels / tags:** Raleway 500, letter-spacing 0.2em, uppercase, 0.7rem - **Body text:** Raleway 300–400, 1rem, line-height 1.8, color: var(--muted-foreground) ## 5. Visual Effects ### Effect 1 — Hero Full-Bleed Hair Editorial Video/Photo ```jsx <section className="relative w-full h-screen overflow-hidden"> {/* Image: professional hair model in upscale salon environment, warm editorial lighting from overhead and side, tight crop emphasizing movement in freshly styled hair, deep amber/warm tones, luxury feel, close-medium shot */} <img src="" alt="Atelier Blanche hair styling editorial" className="w-full h-full object-cover object-center" /> {/* Dark gradient overlay left side — text legibility */} <div className="absolute inset-0" style={{ background: 'linear-gradient(to right, rgba(26,22,18,0.92) 0%, rgba(26,22,18,0.75) 45%, transparent 100%)' }} /> {/* Subtle bottom gradient */} <div className="absolute inset-0" style={{ background: 'linear-gradient(to top, rgba(26,22,18,0.4) 0%, transparent 30%)' }} /> </section> ``` ### Effect 2 — Service Cards Staggered Slide-In on Scroll ```tsx import { motion } from 'motion/react' {serviceCards.map((service, index) => ( <motion.div key={service.id} initial={{ opacity: 0, y: 50 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true, margin: '-80px' }} transition={{ duration: 0.65, delay: index * 0.15, ease: [0.22, 1, 0.36, 1] }} className="bg-card border border-border rounded-sm p-8 hover:shadow-lg transition-shadow duration-300" > ``` ### Effect 3 — Infinite Horizontal Marquee (Service Tags) ```tsx // InfiniteMarquee.tsx import { motion } from 'motion/react' const tags = ['CUT', 'COLOR', 'BALAYAGE', 'EXTENSIONS', 'BLOWOUT', 'TREATMENTS', 'BRIDAL', 'GLOSS', 'KERATIN'] export function InfiniteMarquee() { const doubled = [...tags, ...tags] return ( <div className="overflow-hidden py-5 border-y" style={{ borderColor: 'var(--border)', background: 'var(--card)' }}> <motion.div className="flex gap-12 whitespace-nowrap" animate={{ x: ['0%', '-50%'] }} transition={{ duration: 22, repeat: Infinity, ease: 'linear' }} style={{ width: 'max-content' }} > {doubled.map((tag, i) => ( <span key={i} className="text-sm font-medium tracking-[0.25em] uppercase" style={{ color: 'var(--muted-foreground)', fontFamily: 'Raleway, sans-serif' }} > {tag} <span className="mx-6" style={{ color: 'var(--primary)' }}>·</span> </span> ))} </motion.div> </div> ) } ``` ### Effect 4 — Before/After Comparison Slider ```tsx // BeforeAfterSlider.tsx import { useState, useRef, useCallback } from 'react' import { motion } from 'motion/react' export function BeforeAfterSlider() { const [position, setPosition] = useState(50) const containerRef = useRef<HTMLDivElement>(null) const handleMouseMove = useCallback((e: React.MouseEvent) => { if (!containerRef.current) return const rect = containerRef.current.getBoundingClientRect() const x = ((e.clientX - rect.left) / rect.width) * 100 setPosition(Math.min(Math.max(x, 5), 95)) }, []) return ( <div ref={containerRef} className="relative w-full h-[500px] overflow-hidden cursor-col-resize select-none rounded-sm" onMouseMove={handleMouseMove} > {/* BEFORE image */} {/* Image: natural hair color, no treatment, hair appears dull and lacking dimension, neutral salon lighting */} <img src="" alt="Before hair color treatment" className="w-full h-full object-cover object-center absolute inset-0" /> {/* AFTER image — clipped */} <div className="absolute inset-0 overflow-hidden" style={{ width: `${position}%` }}> {/* Image: same model after balayage color service, hair glowing with warm honey/caramel tones, movement, richly lit, professional salon, stunning transformation */} <img src="" alt="After balayage color transformation" className="absolute inset-0 w-full h-full object-cover object-left" style={{ width: `${100 / (position / 100)}%` }} /> </div> {/* Drag handle */} <motion.div className="absolute top-0 bottom-0 w-0.5 bg-white" style={{ left: `${position}%` }} > <div className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-10 h-10 rounded-full bg-white shadow-lg flex items-center justify-center"> <span style={{ color: 'var(--primary)', fontSize: '18px' }}>⇔</span> </div> </motion.div> {/* Labels */} <span className="absolute top-4 left-4 text-xs font-medium tracking-widest uppercase bg-black/50 text-white px-3 py-1">Before</span> <span className="absolute top-4 right-4 text-xs font-medium tracking-widest uppercase bg-black/50 text-white px-3 py-1">After</span> </div> ) } ``` ### Effect 5 — Portfolio Gallery Horizontal Auto-Scroll Strip ```tsx // HorizontalGallery.tsx import { motion } from 'motion/react' const galleryImages = Array(8).fill(null) // 8 portfolio photos export function HorizontalGallery() { return ( <div className="overflow-hidden py-2"> <motion.div className="flex gap-3" animate={{ x: ['0%', '-50%'] }} transition={{ duration: 35, repeat: Infinity, ease: 'linear' }} whileHover={{ animationPlayState: 'paused' }} style={{ width: 'max-content' }} > {[...galleryImages, ...galleryImages].map((_, i) => ( <div key={i} className="w-64 h-80 flex-shrink-0 overflow-hidden rounded-sm"> {/* Image descriptions for 8 slots: */} {/* 0: dramatic balayage transformation, warm honey tones, movement blur */} {/* 1: sleek blowout, model looking over shoulder, studio light */} {/* 2: textured curls treatment, voluminous and defined, natural light */} {/* 3: bridal updo with loose waves, elegant, soft window light */} {/* 4: platinum blonde color with face-framing highlights, editorial */} {/* 5: rich brunette gloss, smooth and reflective, professional styling */} {/* 6: before/after color correction, vibrant rich auburn, side-by-side crop */} {/* 7: lived-in highlights, casual luxe styling, natural outdoor light */} <img src="" alt={`Hair portfolio ${i % 8 + 1}`} className="w-full h-full object-cover object-center hover:scale-105 transition-transform duration-700" /> </div> ))} </motion.div> </div> ) } ``` ## 6. Component Breakdown ### 6.1 Navbar ```tsx // Fixed top-0, z-40, w-full // Height: h-18 (72px) // Background: transparent on hero scroll, transitions to bg-[#faf6f0]/95 backdrop-blur-sm // Layout: px-8 md:px-16, flex items-center justify-between // Left: nav links desktop ["Services", "Portfolio", "Team", "About"] — Raleway 400, 0.8rem, letter-spacing 0.12em, uppercase, gap-8 // active link: rose-gold underline (2px, offset 4px) // Center: wordmark "ATELIER BLANCHE" — Libre Baskerville 400, 1.1rem, letter-spacing 0.2em, centered, absolute // Right: "Book Now" button — rose gold bg, white text, px-6 py-2.5, Raleway 500, 0.75rem, letter-spacing 0.15em, uppercase // Mobile: hide nav links, show hamburger, center wordmark ``` ### 6.2 Hero Section ```tsx // h-screen, relative, overflow-hidden // Full-bleed editorial hair photo with dark left gradient // Content: absolute left-8 md:left-16 bottom-16 max-w-xl // Eyebrow: "Premium Hair Studio" — Raleway 400, 0.75rem, letter-spacing 0.3em, uppercase, text-white/60, mb-4 // H1: "Your Most\nConfident\nVersion\nStarts Here." — Libre Baskerville 700, clamp(2.5rem, 6vw, 5rem), text-white, line-height 1.05, mb-6 // Subtext: "Expert colour. Effortless style. Every time." — Raleway 300, 1.1rem, text-white/75, mb-8 // CTA buttons: flex gap-4 // Primary: "Book Your Appointment" — bg-[#c4907a] text-white, px-8 py-4, Raleway 500, 0.875rem // Secondary: "View Our Work" — border border-white/50 text-white, px-8 py-4, same type ``` ### 6.3 Infinite Marquee Strip ```tsx // Position: immediately below hero // bg-card, border-y border-border // py-5 // See Effect 3 — InfiniteMarquee component // Tags loop continuously, rose gold dot separator // On hover: animation pauses ``` ### 6.4 Services Section ```tsx // py-24 px-8 md:px-16 // Header: flex justify-between items-end, mb-16 // Left: label "OUR SERVICES" + H2 "Expert Services,\nHair as Art" // Right: "View all services →" link (Raleway 400, rose gold) // Grid: grid-cols-1 sm:grid-cols-2 lg:grid-cols-4, gap-6 // Each card: // - bg-card, border border-border, rounded-sm, p-8, overflow-hidden // - Top: service icon placeholder (32px square, rose gold tint) // - Title: Libre Baskerville, 1.3rem, mb-2, text-foreground // - Description: Raleway 300, 0.9rem, text-muted-foreground, line-height 1.7, mb-4 // - Price from: "From £45" — Raleway 500, 0.875rem, text-primary, mb-6 // - Bottom: "Book Now →" link // - Rose gold top-border accent (3px) on hover, transition 0.3s // - Stagger entrance: delay index * 0.15s // Service card photos: // Card 1: {/* Image: model receiving professional haircut from stylist, scissors detail, salon bg */} // Card 2: {/* Image: color application close-up, foils, balayage brush, rich color tones */} // Card 3: {/* Image: deep conditioning treatment application, luxe salon environment, towel wrap */} // Card 4: {/* Image: bridal hair trial updo, bride-to-be, flower accents, warm dressing-room light */} ``` ### 6.5 Before/After Color Section ```tsx // py-24 px-8 md:px-16, bg-card // Heading: "The Transformation" — centered, Libre Baskerville Italic, 3rem, mb-4 // Subtext: centered, Raleway 300, 1rem, text-muted-foreground, mb-12 // BeforeAfterSlider component (see Effect 4) — max-w-4xl, mx-auto // Below slider: caption text + "Book a Colour Consultation →" CTA link ``` ### 6.6 Portfolio Gallery Strip ```tsx // py-16, overflow-hidden (no px padding — full bleed strip) // Label above: "PORTFOLIO" — centered, Raleway 500, 0.75rem, letter-spacing 0.3em, mb-6, text-muted-foreground // HorizontalGallery component (see Effect 5) // Caption below: centered, Raleway 300, 0.875rem, text-muted-foreground ``` ### 6.7 About Section ```tsx // py-24 px-8 md:px-16 // Layout: grid grid-cols-1 lg:grid-cols-2, gap-20, items-center // Left column (text): // - Label "OUR STORY" — Raleway 500, 0.7rem, letter-spacing 0.3em, uppercase, mb-4, text-primary // - H2: Libre Baskerville, 2.5rem, mb-6 // - Body: 2 paragraphs, Raleway 300, 1rem, line-height 1.85, text-muted-foreground // - Italic pull quote: Libre Baskerville Italic, 1.2rem, border-l-4 border-primary, pl-5, my-8, text-foreground // - Stats: flex gap-12, 3 stats (Years, Clients, Awards) // Right column (photo): // {/* Image: warm bright salon interior — exposed brick or white wall, floor-to-ceiling mirror, luxury styling chairs, ambient warm light, elevated and aspirational feel */} // <img src="" alt="Atelier Blanche salon interior" className="w-full h-[600px] object-cover object-center rounded-sm" /> ``` ### 6.8 Team Section ```tsx // py-24 px-8 md:px-16, bg-card // Centered header: "Meet the Team" — Libre Baskerville, 2.5rem, mb-16 // Grid: grid-cols-1 md:grid-cols-3, gap-10 // Each card: // - Circular photo (w-48 h-48 rounded-full mx-auto mb-6 object-cover) // - Name: Libre Baskerville, 1.25rem, text-center, mb-1 // - Specialty: Raleway 400, 0.85rem, text-primary, text-center, mb-2 // - Instagram handle: @handle, Raleway 300, 0.8rem, text-muted-foreground, text-center // - Short bio: Raleway 300, 0.875rem, text-center, text-muted-foreground, max-w-[260px], mx-auto // Team photo descriptions: // {/* Image: female hairstylist, professional styling apron, warm confident smile, salon background, head & shoulders portrait */} // {/* Image: female colorist holding color brush, artistic pose, salon environment, warm studio portrait */} // {/* Image: male stylist, modern look, arms crossed, salon backdrop, friendly expression, head & shoulders */} ``` ### 6.9 Testimonials ```tsx // py-24 px-8 md:px-16 // Centered heading: "What Our Clients Say" — Libre Baskerville, 2.5rem, mb-16 // Grid: grid-cols-1 md:grid-cols-3, gap-8 // Each card: bg-card, border border-border, rounded-sm, p-8 // - Stars: 5 × ★ in rose gold (#c4907a), mb-4, font-size 1rem // - Quote: Libre Baskerville Italic, 1rem, line-height 1.8, text-foreground/80, mb-6 // - Author: flex items-center gap-3 // - Circular avatar photo (w-10 h-10 rounded-full object-cover) // - Name: Raleway 500, 0.9rem + date: Raleway 300, 0.75rem, text-muted-foreground ``` ### 6.10 Booking Section ```tsx // py-24 px-8 md:px-16, bg-[#1a1612], text-white (dark section) // Layout: grid grid-cols-1 lg:grid-cols-2, gap-16, items-center // Left: // - Eyebrow: "BOOK AN APPOINTMENT" — Raleway 500, 0.7rem, letter-spacing 0.3em, text-primary, mb-4 // - H2: Libre Baskerville, 3rem, text-white, mb-4 // - Body: Raleway 300, 1rem, text-white/60, line-height 1.8, mb-8 // - Contact info: phone, email, address — each with lucide icon, Raleway 300, 0.9rem, text-white/60 // Right: // - Glassmorphism booking frame: // border border-white/10, bg-white/5, backdrop-blur-sm, rounded-sm, p-8 // - Inside: Name, Email, Service (select), Date preference, Message inputs // - Raleway 300 placeholder text, rose gold focus ring // - Submit: full-width bg-primary button ``` ### 6.11 Footer ```tsx // py-16 px-8 md:px-16, bg-[#1a1612], border-t border-white/10 // Top: grid grid-cols-2 md:grid-cols-4, gap-12, pb-12, border-b border-white/10 // Col 1: Wordmark + tagline + social icons // Col 2: Services links // Col 3: Studio links (About, Team, Press, Careers) // Col 4: Contact (address, hours, phone) // Bottom: flex justify-between, pt-8 // Left: copyright text — Raleway 300, 0.75rem, text-white/30 // Right: Privacy Policy · Terms — same style ``` ## 7. Animations ### Navbar scroll ```tsx const [scrolled, setScrolled] = useState(false) // After 60px: 'bg-[#faf6f0]/95 backdrop-blur-sm shadow-sm' : 'bg-transparent' transition={{ duration: 0.25 }} ``` ### Hero text entrance (staggered) ```tsx // Eyebrow: delay 0.3s // H1: delay 0.5s, y: 40→0 // Subtext: delay 0.7s // Buttons: delay 0.9s, opacity 0→1 // All: duration 0.8s, ease [0.22, 1, 0.36, 1] ``` ### Marquee ```tsx // x: '0%' → '-50%', duration 22s, repeat Infinity, ease 'linear' // whileHover: set animation to paused state ``` ### Service card hover ```tsx // border-top: 0→3px rose gold, transition 0.3s // shadow: sm→lg, transition 0.3s // whileHover: y: -4, transition duration 0.3s ``` ### Before/after slider ```tsx // Smooth mouse tracking, no transition on position for real-time feel // Handle: slight scale on mousedown (scale 1→1.1) ``` ### Gallery strip ```tsx // x: '0%' → '-50%', duration 35s, repeat Infinity, ease 'linear' // Image hover: scale 1→1.05, duration 0.7s ease ``` ### Section headings entrance ```tsx initial={{ opacity: 0, y: 20 }} whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }} transition={{ duration: 0.6, ease: [0.22, 1, 0.36, 1] }} ``` ## 8. Responsive ### Mobile (< 768px) - Navbar: wordmark centered, hamburger right, no nav links visible - Hero: gradient shifts to full-overlay (text over darker image), H1 3rem - Marquee: slightly faster (18s), same implementation - Services: single column, each card full-width - Before/After slider: full-width, touch events supported - Gallery strip: same (works naturally), slightly smaller images (w-48 h-64) - About: photo full-width top, text below - Team: single column, stacked - Testimonials: single column, swipeable (add touch scroll) - Booking: single column, form below text - Footer: 2-column grid top, stacked below md ### Desktop (>= 1024px) - All multi-column layouts activated - Navbar: full horizontal nav, wordmark centered - Hero: text max-w-xl, positioned left-16 bottom-16 - Services: 4 columns - About: 2 equal columns - Team: 3 columns - Booking: 2 columns (text left, form right) - Footer: 4 columns ## 9. Full Copy ### Brand Name Atelier Blanche ### Navbar - Wordmark: ATELIER BLANCHE - Links: Services · Portfolio · Team · About - CTA: Book Now ### Hero - Eyebrow: Premium Hair Studio - H1: Your Most Confident Version Starts Here. - Subtext: Expert colour. Effortless style. Every time. - Primary CTA: Book Your Appointment - Secondary CTA: View Our Work ### Marquee Tags CUT · COLOR · BALAYAGE · EXTENSIONS · BLOWOUT · TREATMENTS · BRIDAL · GLOSS · KERATIN · ### Services Section - Label: OUR SERVICES - H2: Expert Services, Hair as Art - Subtext: From precision cuts to complex colour — every service is performed with intention and expertise. - **Card 1 — Cut & Style** - Desc: Precision cutting tailored to your face shape, lifestyle, and hair texture. Every cut is a conversation, every finish is art. - From: From £65 - **Card 2 — Colour** - Desc: Balayage, highlights, full colour, glossing — our colour specialists bring depth, dimension, and radiance to every shade. - From: From £120 - **Card 3 — Treatments** - Desc: Keratin smoothing, deep conditioning masks, scalp treatments, and bond repair. Healthier hair from root to tip. - From: From £55 - **Card 4 — Bridal** - Desc: Comprehensive bridal hair packages for your most important day. Includes trials, morning-of styling, and full bridal party coordination. - From: From £200 ### Before/After Section - Heading: The Transformation - Subtext: Drag to reveal the before and after on our latest colour transformation. - Caption: Balayage colour service — 3 hours with our senior colour specialist. - CTA: Book a Colour Consultation → ### Portfolio Section - Label: PORTFOLIO - Caption: Follow us @atelierblanche for daily inspiration ### About Section - Label: OUR STORY - H2: Where Hair Meets Art - Para 1: Atelier Blanche was born from a simple conviction: that your hair should make you feel like yourself — only more. We opened our doors in the heart of the city with a small team of exceptional stylists and a shared obsession with craft. - Para 2: Every appointment here is deliberate. We don't rush. We don't over-book. We listen, we create, and we make sure you walk out looking exactly how you imagined — and better. - Pull quote: "Hair is the most intimate form of personal expression. We take that seriously." - Stats: 8+ Years · 2,400+ Clients · 3 Awards ### Team Section - Heading: Meet the Team - **Stylist 1 — Marie Laurent** - Specialty: Senior Colourist - Instagram: @marielaurent - Bio: 12 years of colour expertise across London and Paris. Known for her signature balayage and bespoke colour blending. - **Stylist 2 — Chloe Park** - Specialty: Master Stylist - Instagram: @chloepark_hair - Bio: A precision cutting specialist with a gift for understanding how hair moves with (and for) each individual client. - **Stylist 3 — Tom Ashby** - Specialty: Texture & Extensions - Instagram: @tomashbyhair - Bio: From textured cuts to seamless extensions, Tom brings technical precision and an effortless eye for dimension. ### Testimonials Section - Heading: What Our Clients Say - **Testimonial 1** - Quote: "I've been going to salons my whole life and never felt truly seen until I found Atelier Blanche. Marie understood my hair and gave me exactly what I'd been trying to describe for years." - Author: Jessica T. — 3 months ago - **Testimonial 2** - Quote: "The balayage I came in for was stunning. But the entire experience — the consultation, the care, the result — was genuinely unlike any salon I've ever been to." - Author: Priya S. — 1 month ago - **Testimonial 3** - Quote: "Atelier Blanche did my hair for my wedding and I cried when I saw it. In the best way. Chloe is an absolute genius. Booked them for every client event since." - Author: Hannah W. — 2 months ago ### Booking Section - Eyebrow: BOOK AN APPOINTMENT - H2: Ready to Transform? - Body: Book online or call us directly. We do our best to accommodate requests within 48 hours and have cancellation slots available most weeks. - Contact: 020 7123 4567 · hello@atelierblanche.com · 14 Marylebone Lane, London W1U 2NE - Form labels: Full Name · Email Address · Service · Preferred Date · Message (optional) - Button: Request Appointment - Note: We'll confirm your appointment within 24 hours. ### Footer - Col 1: Atelier Blanche · Luxury hair studio in the heart of London · [Instagram, Pinterest icons] - Col 2: Services — Cut & Style · Colour · Balayage · Bridal · Treatments · Extensions - Col 3: Studio — About · Our Team · Press · Gift Cards · Careers - Col 4: Visit — 14 Marylebone Lane, London W1U 2NE · Mon–Sat 9am–7pm · Sun 10am–5pm · 020 7123 4567 - Copyright: © 2025 Atelier Blanche. All rights reserved. ## 10. Key Dependencies ```json { "motion": "^12.0.0", "lucide-react": "^0.462.0", "@radix-ui/react-select": "^2.1.0", "@radix-ui/react-dialog": "^1.1.0", "clsx": "^2.1.0", "tailwind-merge": "^2.3.0" } ```

The generated results may vary

Categories

Categories

FAQ

What sections are included?

The prompt generates eleven complete sections: Navbar (centered wordmark, rose gold active state), Hero (editorial hair photo + headline + dual CTAs), Infinite Service Marquee (scrolling tag strip), Services (4 cards: Cut & Style from £65, Colour from £120, Treatments from £55, Bridal from £200), Before/After Slider (colour transformation comparison), Portfolio Gallery Strip (8 photos, auto-scrolling), About (salon story + photo), Team (3 stylists: Marie Laurent, Chloe Park, Tom Ashby), Testimonials (3 Google Review-style cards), Booking (glassmorphism form + contact info), and Footer.

Which AI tools does this prompt work with?

This prompt is built for Bolt, v0, and Lovable. The tech stack — React + Vite + TypeScript + Tailwind CSS + Framer Motion (motion/react) + shadcn/ui — is natively supported on all three platforms. Paste the full prompt file into your chosen tool and the complete site generates in one build. The before/after slider uses pure React (no external drag library), so there are no dependency conflicts.

Do I need to upload photos or assets?

No. All images in the prompt are described in JSX comments with detailed photo briefs (e.g., "professional model in upscale salon environment, warm editorial lighting, tight crop on hair movement"). The AI tool generates appropriate photography automatically. For the before/after slider, both the "before" and "after" images are described separately so the AI generates a realistic transformation pair.

Can I customize the copy and branding?

Yes — all copy is written and included. The brand name "Atelier Blanche," pricing, team names, service descriptions, testimonials, and all other text are placeholders designed to be replaced with your salon's real details. The color system uses CSS custom properties, so swapping from rose gold to any other accent color is a single change in the :root block.

Full page hair salon website – editorial hero, service marquee, before after slider, team profiles, booking form

FAQ

What sections are included?

The prompt generates eleven complete sections: Navbar (centered wordmark, rose gold active state), Hero (editorial hair photo + headline + dual CTAs), Infinite Service Marquee (scrolling tag strip), Services (4 cards: Cut & Style from £65, Colour from £120, Treatments from £55, Bridal from £200), Before/After Slider (colour transformation comparison), Portfolio Gallery Strip (8 photos, auto-scrolling), About (salon story + photo), Team (3 stylists: Marie Laurent, Chloe Park, Tom Ashby), Testimonials (3 Google Review-style cards), Booking (glassmorphism form + contact info), and Footer.

Which AI tools does this prompt work with?

This prompt is built for Bolt, v0, and Lovable. The tech stack — React + Vite + TypeScript + Tailwind CSS + Framer Motion (motion/react) + shadcn/ui — is natively supported on all three platforms. Paste the full prompt file into your chosen tool and the complete site generates in one build. The before/after slider uses pure React (no external drag library), so there are no dependency conflicts.

Do I need to upload photos or assets?

No. All images in the prompt are described in JSX comments with detailed photo briefs (e.g., "professional model in upscale salon environment, warm editorial lighting, tight crop on hair movement"). The AI tool generates appropriate photography automatically. For the before/after slider, both the "before" and "after" images are described separately so the AI generates a realistic transformation pair.

Can I customize the copy and branding?

Yes — all copy is written and included. The brand name "Atelier Blanche," pricing, team names, service descriptions, testimonials, and all other text are placeholders designed to be replaced with your salon's real details. The color system uses CSS custom properties, so swapping from rose gold to any other accent color is a single change in the :root block.

Frequently asked questions

What is websiteprompts.ai?

websiteprompts.ai is a free library of AI website prompts. Each prompt is a ready-to-use text instruction that generates a complete website design when used with an AI website builder like Lovable, Claude, Bolt, v0, or similar tools.

How do I use these prompts?

Copy any prompt from websiteprompts.ai, open your AI website builder of choice — Lovable, Bolt, v0, Claude, ChatGPT, or any other tool — paste the prompt, and let the AI generate your website. No coding or design experience needed.

Are the prompts free?

Yes — every prompt on websiteprompts.ai is completely free. Copy and use them as many times as you like, for personal or commercial projects.

Which AI tools do the prompts work with?

The prompts are designed primarily for Lovable and Bolt, but they work with any AI tool that can generate websites — including v0, Claude, ChatGPT, Cursor, Framer AI, and others.

How often are new prompts added?

New prompts are added every day. The library is constantly growing with prompts for different industries, website types, and design styles.

Do I need any technical skills to use these prompts?

No technical skills required. Copy the prompt, paste it into any AI website builder, and the AI handles the rest. websiteprompts.ai is built for anyone who wants a professional website without writing code.

Frequently asked questions

What is websiteprompts.ai?

websiteprompts.ai is a free library of AI website prompts. Each prompt is a ready-to-use text instruction that generates a complete website design when used with an AI website builder like Lovable, Claude, Bolt, v0, or similar tools.

How do I use these prompts?

Copy any prompt from websiteprompts.ai, open your AI website builder of choice — Lovable, Bolt, v0, Claude, ChatGPT, or any other tool — paste the prompt, and let the AI generate your website. No coding or design experience needed.

Are the prompts free?

Yes — every prompt on websiteprompts.ai is completely free. Copy and use them as many times as you like, for personal or commercial projects.

Which AI tools do the prompts work with?

The prompts are designed primarily for Lovable and Bolt, but they work with any AI tool that can generate websites — including v0, Claude, ChatGPT, Cursor, Framer AI, and others.

How often are new prompts added?

New prompts are added every day. The library is constantly growing with prompts for different industries, website types, and design styles.

Do I need any technical skills to use these prompts?

No technical skills required. Copy the prompt, paste it into any AI website builder, and the AI handles the rest. websiteprompts.ai is built for anyone who wants a professional website without writing code.

Frequently asked questions

What is websiteprompts.ai?

websiteprompts.ai is a free library of AI website prompts. Each prompt is a ready-to-use text instruction that generates a complete website design when used with an AI website builder like Lovable, Claude, Bolt, v0, or similar tools.

How do I use these prompts?

Copy any prompt from websiteprompts.ai, open your AI website builder of choice — Lovable, Bolt, v0, Claude, ChatGPT, or any other tool — paste the prompt, and let the AI generate your website. No coding or design experience needed.

Are the prompts free?

Yes — every prompt on websiteprompts.ai is completely free. Copy and use them as many times as you like, for personal or commercial projects.

Which AI tools do the prompts work with?

The prompts are designed primarily for Lovable and Bolt, but they work with any AI tool that can generate websites — including v0, Claude, ChatGPT, Cursor, Framer AI, and others.

How often are new prompts added?

New prompts are added every day. The library is constantly growing with prompts for different industries, website types, and design styles.

Do I need any technical skills to use these prompts?

No technical skills required. Copy the prompt, paste it into any AI website builder, and the AI handles the rest. websiteprompts.ai is built for anyone who wants a professional website without writing code.

Get new AI website prompts every week — straight to your inbox.

Every Friday we drop a fresh batch of AI website prompts and tips to help you build better websites faster.

Join 1,000+ AI enthusiasts

liquid metallic gradient

Get new AI website prompts every week — straight to your inbox.

Every Friday we drop a fresh batch of AI website prompts and tips to help you build better websites faster.

Join 1,000+ AI enthusiasts

liquid metallic gradient

Get new AI website prompts every week — straight to your inbox.

Every Friday we drop a fresh batch of AI website prompts and tips to help you build better websites faster.

Join 1,000+ AI enthusiasts