vibeyour website Hire us
All prompts
Static HTML/CSS Florist 15.8k chars

Vibe Code a Florist Website

Free vibe coding prompt to build a florist website. Bouquet menu, flower subscriptions, delivery info, and Florist schema markup. One lush HTML file, ready to deploy.

Tested with: ChatGPT, Claude · Updated 2026-08-11 · License: do whatever you want, it's yours
static-florist.prompt · 15.8k chars
Build a one-page florist / flower shop website as a single self-contained
HTML file (inline CSS and JS, no external dependencies except Google Fonts
and Unsplash images via their CDN).

═══════════════════════════════════════════════════════════════
BUSINESS DETAILS
═══════════════════════════════════════════════════════════════
- Shop name: [SHOP NAME]
- Address: [FULL ADDRESS]
- Phone: [PHONE]
- Email: [EMAIL]
- Social: Instagram + (optional) Pinterest (open in new tab, rel="noopener")
- Hours: [WEEKDAY / SAT / SUN]
- Specialty: weddings / everyday / subscriptions (mix)
- Delivery: same-day in [CITY], next-day in [SURROUNDING ZIPS]
- Founded year: [YEAR]
- Sourcing: from [LOCAL FARM(S) / REGION]

═══════════════════════════════════════════════════════════════
BRAND
═══════════════════════════════════════════════════════════════
- Brand colors: deep forest green (#2f4538), dusty blush (#dfb8a8), cream
 (#f5efe2), dusty rose accent (#a0635f). Override if user provides;
 derive variants for AA contrast.

═══════════════════════════════════════════════════════════════
DESIGN DIRECTION
═══════════════════════════════════════════════════════════════
- Botanical, lush, garden-fresh editorial. NOT corporate-floral, NOT
 cheap-bouquet-online. Editorial gardening magazine feel.
- Type pairing: high-contrast display serif for headings (Lora, Cormorant
 Garamond, Fraunces) + Inter for body. ONE italic accent. NO script
 fonts.
- Eyebrow labels: uppercase, tracked .22em, dusty rose, prefixed by a
 28px CSS ::before line in forest.
- Headlines: short, sensory, with ONE italic accent ("Same-day delivery.
 *Fiercely seasonal.*"). Italic words in dusty rose.
- Subtle SVG botanical accents (leaves, branches, stems) as section
 dividers, clean line drawings, NOT inline emojis, NOT clip-art. Define
 once as <symbol>, use sparingly.
- Photo-heavy: full-bleed bouquet photography, hands wrapping flowers, work
 bench shots.
- Icon system: 24x24 line icons, fill="none", stroke="currentColor",
 stroke-width 1.5, round caps. Cover: tulip-line, leaf, vase, bow,
 delivery-truck, calendar, clock, pin, phone, mail, check, star.
- Icon containers: 44x44 rounded squares with cream-tinted bg, flip to
 filled forest with cream icon on hover.
- Motion: scroll fade-ins, very subtle Ken Burns on hero, hover lifts (4px)
 on product cards.

═══════════════════════════════════════════════════════════════
SECTIONS (in this exact order)
═══════════════════════════════════════════════════════════════

1. FIXED NAV (glass cream translucent + backdrop blur)
 - Wordmark (serif) left | anchor nav center | "Shop bouquets" rose pill
 CTA right
 - Sub-line: small "Same-day delivery in [CITY]" with pulsing forest dot

2. HERO
 - Two-column: text left, photo right (Unsplash: "wrapped bouquet
 florist" or "fresh flowers studio") rounded 28px with forest gradient
 overlay bottom-right
 - Left: eyebrow with line marker, headline ("Same-day delivery.
 *Locally grown.* *Fiercely seasonal.*"), 2-line subhead, primary
 "Shop bouquets" CTA + secondary "Subscribe"
 - Floating pill on photo: "Today's stems: [3 seasonal flowers]"
 - Ken Burns slow zoom

3. FEATURED BOUQUETS
 - Eyebrow + headline ("This week's *bouquets*")
 - 4-column grid of product cards (auto-fit, minmax 260px)
 - Each card: hero photo (rounded 16px, ratio square), bouquet name
 (serif, e.g., "The Summer Garden"), size options as pill row
 (Small/Medium/Large with price under each), 2-line description,
 "Order →" rose link
 - 8 bouquets total

4. SUBSCRIPTIONS
 - Eyebrow + headline ("Flowers *every Friday*")
 - 3-column card grid (stack mobile): Weekly / Bi-weekly / Monthly
 - Each card: frequency name (serif), price (large serif rose), what's
 included (4 lines in prose with check icons), example bouquet thumb,
 "Subscribe" rose button
 - Middle card visually elevated

5. OCCASIONS
 - Eyebrow + headline ("Flowers for *every reason*")
 - 5-card horizontal row (stack mobile): Birthday / Anniversary /
 Sympathy / Wedding & Events / Just Because
 - Each: 44x44 cream-tinted icon badge + occasion name (serif) + 1-line
 description + "Browse →" rose link

6. CUSTOM ORDERS & WEDDINGS
 - Two-column: text left, form right
 - Left: eyebrow, headline ("Weddings and *custom designs*"), 2-paragraph
 description, "Download our wedding lookbook PDF" link
 - Right: cream card with rose border (1px)
 • Fields: full name, email, phone, event date, event type (select:
 Wedding / Corporate / Birthday / Sympathy / Other), recipient
 (yourself / someone else), budget range, vision (textarea)
 • Submit rose button
 • Inline JS success message (preventDefault)

7. ABOUT
 - Two-column: text left, photo composition right
 - Left: eyebrow, headline ("Family-owned since *[YEAR]*"), 3-paragraph
 story (where flowers come from, what makes the shop different,
 sustainability practices)
 - Right: layered photo composition, large florist-at-work photo
 (rounded 20px) + overlapping smaller shop interior photo (rounded
 16px, cream border)

8. DELIVERY AREA
 - Two-column: text left, info card right
 - Left: eyebrow, headline ("Where we *deliver*"), 1 paragraph about
 same-day in [CITY], next-day in surrounding areas, cutoff times
 - Right: list of zip codes / neighborhoods in 2-column compact grid,
 with cutoff time emphasized in monospace ("Order by 2pm for same-day")

9. CARE TIPS
 - Thin cream section
 - Eyebrow + headline ("Make them *last longer*")
 - 4-step horizontal row (stack mobile)
 - Each: outlined forest numeral (01-04) + tip title + 1-line description
 - Tips: Change water daily / Trim stems at angle / Keep cool / Remove
 fading blooms

10. TESTIMONIALS
 - 3 quote cards in grid
 - Each: oversized opening quotation in muted forest, quote body
 (specific bouquet, specific occasion, varied lengths), 5 rose SVG
 stars, separator, gradient-circle initials avatar + first name +
 last initial + occasion ("Anniversary delivery")
 - NO fake stock photos

11. HOURS + MAP
 - Two-column: hours table left, Google Maps embed right (rounded 24px,
 cream border)
 - Map iframe via Google Maps embed URL (no API key)
 - Floating overlay: shop name, address, "Get directions →"

12. INSTAGRAM STRIP
 - "FRESH ON INSTAGRAM" label left + 9-image grid right (Unsplash:
 "flower arrangement", "bouquet hands", "florist workbench")
 - Each rounded 8px, slight desaturate on hover
 - Below: "Follow for daily blooms →" Instagram link

13. NEWSLETTER
 - Centered card on blush, forest radial blob accents
 - Eyebrow "PETAL POST", headline ("New blooms, *every Tuesday*"),
 inline email input + rose submit + inline success

14. FOOTER (deep forest)
 - Centered wordmark cream serif
 - Italic serif tagline below (NOT handwritten)
 - Social row: rose-bordered glass circles (Instagram + Pinterest)
 - Bottom: address + hours + delivery cutoff + copyright

═══════════════════════════════════════════════════════════════
TECHNICAL REQUIREMENTS
═══════════════════════════════════════════════════════════════
- Single index.html, no build step
- JSON-LD `Florist` schema in <head> with name, address, telephone,
 openingHours, areaServed (list of zips/neighborhoods)
- CSS custom properties for palette at top
- Smooth scroll with scroll-padding-top
- Real Unsplash images via CDN with ?w=900&q=80&auto=format&fit=crop
- Hero loading="eager", everything else "lazy"
- <picture> with WebP + JPG fallback on hero
- tel:/mailto: links; mailto with prefilled subject for custom orders
- Responsive at 900px and 500px breakpoints
- Semantic HTML5; aria-labels on icon-only links
- Favicon: inline SVG data URI (tulip or leaf mark)

═══════════════════════════════════════════════════════════════
COPY VOICE
═══════════════════════════════════════════════════════════════
Earthy, sensory, seasonal. Treats flowers as craft, not commodity.
Specific over generic ("Garden roses from a farm two hours north, cut
yesterday morning", not "fresh flowers daily"). Headlines short with ONE
italic word. Body copy mentions specific flowers in season, specific
farms. Testimonials feel like real reviews, specific occasion, varied
lengths.

═══════════════════════════════════════════════════════════════
ANTI-PATTERNS TO AVOID
═══════════════════════════════════════════════════════════════
- No emojis (including flowers, hearts, tulips, roses)
- No script/handwritten fonts (no Allura, no Pacifico)
- No "passion for flowers", "love what we do", "magic in every bouquet"
 filler
- No bouncing petal cursors or floating flower particles
- No fake stock photos of pristine bouquets on white backgrounds
- No real wholesale/grower logos as images, typeset names
- No "Voted best florist" badge graphics
- No bullet lists in card copy (write as prose)


═══════════════════════════════════════════════════════════════
SEO & DISCOVERABILITY
═══════════════════════════════════════════════════════════════
Implement all of the following so the page ships production-ready for search
engines and social sharing. This is not optional; treat it as part of the
build, not an afterthought.

DO NOT INVENT DATA: never fabricate business names, addresses, phone or email, license or certification numbers, coordinates, prices, reviews or ratings, team members, photos, press mentions, or results and stats. If a detail is not provided, leave a clearly labeled {{TODO: ...}} placeholder — never a plausible-looking fake. Any form must POST to a real endpoint (Formspree, Web3Forms, Basin, or similar) or fall back to a mailto:/tel: link — never show a fake "success" message with no backend. Wrap every motion effect in @media (prefers-reduced-motion: reduce), and make sure any accent color used for text, links, or prices meets WCAG 2.2 AA contrast against its background.

1. TITLE TAG & META DESCRIPTION
   - <title> tag: "[Business Name] - [Primary Service] in [City]" (under 60 chars)
   - <meta name="description"> 150-160 chars, include the city/area, primary
     service, and a call to action (e.g., "Book online" / "Call now")
   - <meta name="robots" content="index, follow">

2. OPEN GRAPH & TWITTER CARDS
   - og:title, og:description, og:image (hero image), og:url, og:type=website
   - twitter:card=summary_large_image, twitter:title, twitter:description,
     twitter:image
   - Place all OG/Twitter meta in <head>

3. STRUCTURED DATA (JSON-LD)
   - Insert a <script type="application/ld+json"> block in <head> with
     @type: "Florist" schema
   - Include: name, description, url, telephone, email, address
     (streetAddress, addressLocality, addressRegion, postalCode,
     addressCountry), image. Add geo, openingHoursSpecification, and priceRange ONLY when the user supplied real values — never invent them; and do NOT output aggregateRating or Review markup unless the user provides real, verifiable reviews (fabricated ratings violate Google's structured-data spam policy)
   - Add BreadcrumbList schema: Home > [Category] > [Business Name]
   - If the page has a FAQ section, add FAQPage schema with every Q&A pair

4. HEADING HIERARCHY FOR SEO
   - Exactly ONE <h1> per page — use the real, human headline the design calls for; put keywords in the <title> and meta, not the visible H1
   - Logical H2 > H3 nesting for every section; never skip a level
   - Section headings should include secondary keywords naturally
     (keep the section's real, human label; put keywords in the title and meta, not stuffed into headings)

5. IMAGE SEO
   - Every <img> must have a descriptive alt attribute that includes
     relevant keywords (NOT just "image1.jpg")
   - Format: alt="[what the image shows] - [Business Name] in [City]"
   - Use the client's own images, or neutral solid/gradient placeholders with a visible "replace with your photo" note — never hardcode Unsplash photo IDs (they often resolve to the wrong or trademarked image). Always set width + height (or aspect-ratio) to prevent layout shift

6. LOCAL SEO SIGNALS
   - Include full NAP (Name, Address, Phone) in the footer, matching the
     schema data exactly
   - Add a link to Google Maps with the business address
   - Use location-specific keywords in at least 3 section headings
   - If the page has testimonials, include the reviewer's city/area

7. TECHNICAL SEO
   - Canonical tag: <link rel="canonical" href="[PAGE URL]">
   - Language: <html lang="en">
   - Charset: <meta charset="UTF-8"> + viewport meta (already required)
   - All internal anchor links use descriptive text (not "click here")
   - Loading performance: critical CSS inline, fonts via display=swap,
     hero image eager, everything else lazy
   - Keep the CSS and JS readable and editable — do NOT minify (this file is meant to be customized by the owner)

8. CONTENT SEO SIGNALS
   - Write real, useful body copy (not just headings and bullet points).
     Each major section should have at least one paragraph of 2-3 sentences
     that describes the offering in natural language a search engine can parse.
   - Use the primary keyword once or twice where it reads naturally; keep the rest in the title tag and meta description, never stuffed into copy.
   - Include a clear call-to-action with anchor text that includes the
     service keyword (e.g., "Book your appointment" not "Click here").

═══════════════════════════════════════════════════════════════
DELIVERABLE
═══════════════════════════════════════════════════════════════
One polished HTML file (~70-80KB), production-ready. Include JSON-LD
schema. Show the file as a single code block and briefly summarize the
design decisions made.

This prompt builds a full website for a florist or flower shop in one pass: a hero with a shop-now call to action, a bouquet menu organized by occasion, flower subscription plans, delivery details, and your shop story. Paste it into ChatGPT or Claude and you get a single self-contained HTML file you can open in a browser and put online the same day. It works like a shop window: the arrangements lead, the occasions guide the browse, and the delivery cutoff is impossible to miss.

What does the florist website prompt build?

The spec covers what a flower shop needs to take orders and stay local: a hero with a shop-now button, a bouquet menu grouped by category and occasion, subscription plans, a delivery section with zones and same-day cutoffs, a shop story and sourcing note, a seasonal specials strip, testimonials, and an order inquiry form. If you would rather refine the copy and colors by talking to an AI instead of editing code, our guide to build it with Claude shows the workflow step by step.

Who is this florist prompt for?

It is built for neighborhood florists, flower shops, freelance floral designers, and botanical boutiques that want a shop-window site without a heavy store platform. It sits well beside other local retail sites; our neighborhood bakery prompt uses the same warm, menu-driven layout. If you would rather hand it over, we build static sites for a flat fee.

What’s inside the prompt?

  • Business details block for shop name, address, hours, and phone
  • Bouquet menu grouped by category and occasion with prices
  • Subscription block for weekly, biweekly, or monthly flower plans
  • Delivery section listing zones, fees, and the same-day cutoff time
  • Seasonal specials strip for Valentine’s Day, Mother’s Day, and the holidays
  • Florist JSON-LD schema plus title tag, meta description, and local signals
  • Anti-pattern list that blocks emojis, script fonts, and generic stock bouquets

Frequently asked questions

Can customers browse my bouquets and arrangements?

The menu groups arrangements by category and occasion, such as everyday, sympathy, weddings, and seasonal, with the prices you set. It showcases your work and collects orders by inquiry rather than running a full checkout cart, so you confirm stems and timing before charging, which matters when a bloom is out of season or a delivery slot is already full.

Does it handle delivery zones and same-day cutoffs?

Yes. The delivery section lists the neighborhoods you cover, the delivery fee, and the same-day order cutoff time, which heads off the two questions that otherwise tie up your phone all afternoon. You can also flag neighborhoods you do not serve so orders you cannot fill never come in.

Can I sell flower subscriptions?

There is a subscription block for weekly, biweekly, or monthly plans with a sign-up inquiry, so you can pitch recurring arrangements to homes, restaurants, and offices instead of relying only on one-off occasions, which smooths out the slow weeks between holidays.

Will my shop show up for “florist near me”?

The prompt outputs Florist JSON-LD with your address, hours, and phone, plus local wording, which supports Google Maps ranking and AI-assistant answers when someone nearby needs flowers for a last-minute occasion.

Can I feature seasonal and holiday collections?

Yes. A seasonal specials strip highlights Valentine’s Day, Mother’s Day, and holiday arrangements, and because it is one HTML file you can swap the whole collection out as each occasion arrives. There is no plugin to update and no theme to break at your busiest time of year.

How to actually run this.

01

Copy the whole thing

All of it. Do not trim it down, every line is in there for a reason.

02

Swap in your details

Find the BUSINESS DETAILS part and drop in the real business. Name, what they do, all of it.

03

Paste and wait

Drop it into Claude for the first pass, or v0 if it is a landing page. Give it a minute.

04

Clean it up

Tweak the boring 10 percent. Spacing, mobile, that one cringe line. Ship it.

What’s next: from generated code to a website that works

The prompt did the hard 90 percent. What’s left is the boring 10 percent that turns a folder of code into a site people can actually find and trust. Here’s the whole checklist, in order.

1. Buy a domain

Grab your name at a registrar like Namecheap, Cloudflare, or Porkbun — about $10 to $15 a year for a .com. Skip the ten-year prepay and the upsells; you just need the domain and, ideally, the free WHOIS privacy most registrars now include.

2. Put it online

If the AI built you a static site (HTML, CSS, and JavaScript), you can host it for free: drag the folder into Netlify or Vercel, or connect a GitHub repo, then point your domain at it. If it built a WordPress theme, you need WordPress hosting — pick a managed host, install WordPress, upload the theme, and connect the domain. Either way, turn on HTTPS; it’s free and automatic on every modern host.

3. Wire up the parts AI skips

Generated sites almost always ship with a contact form that goes nowhere and a fake “success” message. Connect it to a real endpoint (Formspree, Web3Forms, or a plain mailto link) so leads actually reach you. While you’re in there: add a favicon, swap the placeholder images for your own compressed photos, and open the site on your phone to catch whatever breaks on a small screen.

4. Do the basic SEO and AI-search setup

This is what gets you found on Google and cited by ChatGPT, Perplexity, and AI Overviews. The essentials: a unique title tag and meta description on every page, one clear topic per page, an XML sitemap submitted to Google Search Console, basic structured data (Organization and FAQ schema), and an llms.txt file so AI crawlers can read you. If that reads like a foreign language, our SEO optimization service does it as a flat-fee pass, and our free SEO checklist walks the DIY route step by step.

5. Make it fast

AI builders love shipping four-megabyte images and render-blocking scripts. Compress your images, lazy-load anything below the fold, and run the page through PageSpeed Insights until Core Web Vitals turn green — speed lifts both rankings and conversions, so it’s the rare fix that pays twice. Our speed optimization service handles it if you’d rather not.

6. Get found locally, and measure it

Add analytics (GA4, or a lighter option like Plausible) so you can see what’s working instead of guessing. If you serve a local area, set up a Google Business Profile and use the exact same business name, address, and phone number everywhere — that consistency is what lands you in the map pack and in local AI answers.

7. Keep it alive

A website isn’t set-and-forget, especially on WordPress. Budget for backups, security, and updates so a routine plugin update doesn’t take the site down six months from now. Our care plans cover all of it from $290 a month, or you can do it yourself — you own all the code either way.

When it’s worth handing off

If any of these steps stall you — and hosting, DNS, and SEO stall a lot of people — that’s exactly what we’re for. We build the whole thing at a flat fee, ship it live, and hand you the code on GitHub, having read every line the AI wrote. Or take the free prompts and run with it yourself. Both outcomes are genuinely fine with us.

More from the stash.

You read. We build.

No free weekend? We will build it for you.

This is the exact prompt we would use. Flat fee, real deadline, code is yours.

Have us build this one Fixed fee · Fixed timeline