Skip to main content
vibld

Template

Stormline Drone

A product page for a professional drone that flies in bad weather: a stormy sky, the drone holding steady, and a stats block that proves it.

Professional drone product page · Website · Small business site · single page: hero and one section

A mock-up of the homepage, drawn from this design’s layout, palette and typefaces. A build follows the full prompt below.

Add app screens

Pick up to 6 screens, such as a dashboard, settings or an empty state. Each is built in this design’s own palette and typefaces, with its states and guardrails.

Account setup
Add edit
Analytics
Appearance
Calendar
Chat
Checklist
Checkout
Confirmation
Dashboard
Delete account
Details
Discovery questions
Empty state
Flowchart
Import export
Inbox
Integrations
Invite team
Loading
Login
Onboarding
Plans
Playground
Product tour
Referral
Search
Settings
Share
Sign up
Success
Table
Team members
Text editor
Upgrade
Usage
Verification
Welcome

Start from this templateRead the build prompt

Typefaces

BBH Bartle is blunt and heavy like stenciled equipment marks; Atkinson Hyperlegible keeps numbers and labels clear at a glance.

  • BBH BartleHeadings: the headline and stat numbers
  • Atkinson HyperlegibleBody: stat labels, subcopy and buttons

Who it is for

  • Survey and inspection crews
  • Filmmakers
  • Emergency services

Layout

  1. Background: the storm blurred to near black
  2. Tiny nav on top
  3. Headline left, drone center-right
  4. Stats block along the bottom: range, flight time, wind rating, ingress rating
  5. One supporting section: a split view of the camera feed and a short note on stabilization

Palette

Tough, cold, steady.

  • storm black#111820
  • slate#667b88
  • rain gray#9db0ba
  • white#ffffff

Every checked pair, measured again

SampleWhereRatioNeeds
Aabody text on the page17.87:14.5:1
Aatext on cards and chips14.61:14.5:1
Aasecondary text on muted surfaces7.82:14.5:1
Aasecondary text on the page10.34:14.5:1
Aalabel on the primary action7.96:14.5:1
Aalabel on secondary surfaces14.61:14.5:1
Aalabel on the accent14.61:14.5:1
Aaerror label4.55:14.5:1
primary action against the page7.96:13:1

As vibld’s tokens

The palette on the 15+ color tokens vibld styles a project with, each text color on the fill it is read on. Marked tokens are solved from the palette, because no swatch held that role at 4.5:1.

  • background
  • card *
  • muted *
  • primary
  • secondary *
  • accent *
  • destructive *

Type scale

Display
BBH Bartle, the headline and stat numbers
Body
Atkinson Hyperlegible, stat labels, subcopy and buttons

Spacing and imagery

Full-bleed sky hero; headline left; drone center-right; stats block along the bottom edge in four columns.

A professional quadcopter drone hovering in a dark stormy sky, rain streaks, dramatic backlight through the clouds. No text in the frame; sky on the left for the headline.

Components

  • Stats block
  • Pill CTA
  • Camera feed panel
  • Blurred hero echo background

Interactions

  • Drone bobs a few pixels as if holding against wind
  • Clouds roll slowly behind it
  • Staggered reveal of headline and stats

Data

  • Content{headline, subcopy, cta, section items}

Build prompt

The baseline every prompt in the catalog assumes, then this design’s own ten sections, from goal to guardrails.

The baseline
### How to use these prompts
Each Cinematic Hero prompt describes one page: a full-bleed hero built around a single generated image, and one supporting section in the same style. The rules below apply to every one of them.

### Cinematic Hero principles
- One full-bleed hero per page. The image is the subject, not decoration.
- An oversized display headline of two to four words that runs past an edge or overlaps the subject. It is live text, never part of the image.
- A tiny nav: a wordmark and three or four small links, one pill-shaped primary action, and at most one quiet secondary action.
- The hero image returns as the page background, blurred 40 to 80px and darkened, so the hero sits in a card with 24 to 32px corners.
- A tight palette: two or three colors taken from the image and one accent, used mostly on the primary action.
- A distinct display face with a quiet body face. Small labels get wide tracking.
- Small glass or chip details (a stat, a tag, an avatar row, a counter), never a wall of features.
- One signature motion and a staggered text reveal. prefers-reduced-motion turns every loop off and shows still frames.
- On phones the headline keeps its bleed at a clamp() size, the subject stays in frame, a video becomes its poster, and chips stack under the action.

### Engineering baseline
- TypeScript strict mode, small typed components, and one source of truth for design tokens (CSS variables consumed by Tailwind).
- All copy lives in one typed content file, so the owner can edit words without touching layout.
- Every form validates on the client, says what went wrong in plain words beside the field, and never claims success it has not had.
- No secrets in the bundle and no third-party scripts beyond Google Fonts.
### Goal
Build **Stormline Drone**: A product page for a professional drone that flies in bad weather: a stormy sky, the drone holding steady, and a stats block that proves it. It is one cinematic hero and one supporting section, in the Cinematic Hero series.

### Stack
React + TypeScript + Vite and Tailwind CSS. Motion in CSS and the Web Animations API. No backend: the page is static, and any form keeps its result on the page until the owner connects an endpoint.

### Pages & layout
1. Background: the storm blurred to near black.
2. Tiny nav on top.
3. Headline left, drone center-right.
4. Stats block along the bottom: range, flight time, wind rating, ingress rating.
5. One supporting section: a split view of the camera feed and a short note on stabilization.

Copy to start from, all in `content.ts`: headline "Built for Bad Weather", subcopy "Holds position in 45 km/h winds and keeps filming in the rain.", primary action "Book a demo flight". On phones the headline keeps its bleed at a clamp() size, the subject stays in frame, and chips stack under the action.

### Design system
Mood: Tough, cold, steady.

Palette: storm black `#111820`, slate `#667b88`, rain gray `#9db0ba`, white `#ffffff`. Tokens: background `#111820`, foreground `#ffffff`, primary `#9db0ba` with `#111820` labels, cards `#1e2a35`.

Type: BBH Bartle for the headline and stat numbers; Atkinson Hyperlegible for stat labels, subcopy and buttons. Load both from https://fonts.googleapis.com/css2?family=BBH+Bartle&family=Atkinson+Hyperlegible:wght@400;700&display=swap. Small labels in Atkinson Hyperlegible with 0.12em tracking.

Corners: 28px on the hero card, 16px on cards, pills fully round. Spacing: Full-bleed sky hero; headline left; drone center-right; stats block along the bottom edge in four columns.

Hero image: A professional quadcopter drone hovering in a dark stormy sky, rain streaks, dramatic backlight through the clouds. No text in the frame; sky on the left for the headline. The series made this image for the design: https://vibld.com/img/cinematic/stormline-drone.webp, 2688 by 1535, alt text "A quadcopter drone hovering in a dark storm, rain streaks and backlit clouds behind it". Use it by that absolute URL, with `srcset="https://vibld.com/img/cinematic/stormline-drone-800.webp 800w, https://vibld.com/img/cinematic/stormline-drone-1600.webp 1600w, https://vibld.com/img/cinematic/stormline-drone.webp 2688w"`, unless the person has uploaded a hero image of their own, which then takes its place. Never a placeholder photo or a stock image of people.

### Components & interactions
- Stats block
- Pill CTA
- Camera feed panel
- Blurred hero echo background

Motion:
- Drone bobs a few pixels as if holding against wind
- Clouds roll slowly behind it
- Staggered reveal of headline and stats

The signature motion is: Rolling storm clouds. Keep it to that one; everything else is a 150 to 300ms state change. With prefers-reduced-motion, loops stop, videos show their poster and reveals are instant.

### Data & state
All copy and the supporting section's items live in one typed `content.ts`. Inputs validate as the visitor types and report a result inline; nothing is sent anywhere until the owner connects a form endpoint.

### Accessibility
WCAG 2.2 AA. The headline is real text, not part of the image, and the image has alt text describing it. Every control has a visible focus ring and a 44px target. Verified contrast: body text on the page #ffffff on #111820 17.86:1; text on cards and chips #ffffff on #1e2a35 14.60:1; secondary text on muted surfaces #c4c5c7 on #292f36 7.82:1; secondary text on the page #c4c5c7 on #111820 10.34:1; label on the primary action #111820 on #9db0ba 7.95:1; label on secondary surfaces #ffffff on #1e2a35 14.60:1; label on the accent #ffffff on #1e2a35 14.60:1; error label #ffffff on #d93a3a 4.54:1; primary action against the page #9db0ba on #111820 7.95:1.

### Security
No third-party scripts other than Google Fonts. Forms carry a hidden honeypot field and cap input length.

### Performance & SEO
Serve the hero image as AVIF or WebP with its width and height, `fetchpriority="high"` and no lazy loading; the blurred echo reuses the same file with a CSS filter. Preconnect to Google Fonts. Title and meta description come from `content.ts`. Largest contentful paint under 2.5s on a mid-range phone.

### Guardrails
- Avoid: Bright sunny product shots, spec-sheet walls.
- One accent color, one primary action, at most four nav links.
- No carousel or slider in the hero, no mega menu, no emoji or clip-art icons, no hard offset shadows.
- No purple-to-blue gradient and no stock photos of people at desks.
- The brand is invented. Use no real company's name, logo or trademark.

Open the builderAll templatesThis palette on its own