About this template
Video Production Company Website is a multi-page portfolio for studios that want the work to lead and the inquiry process to feel straightforward. It suits commercial directors, small production companies, documentary teams, event filmmakers, and post-production studios. The structure moves from a full-screen reel to selected projects, services, production approach, and a detailed brief, with a separate work archive and query-driven case studies.
The visual direction is dark and editorial rather than flashy. Instrument Serif headlines sit against charcoal, bone white, slate, and a restrained ember accent. Six coordinated film stills create the hero reel, project covers, and case-study imagery. The still-image playback treatment gives the site cinematic motion without requiring hosted footage, a video service, or a heavy media bundle. Large imagery, compact production metadata, plain-text client wordmarks, and asymmetric project rows keep the portfolio feeling like a working studio rather than a generic agency page.
The interactions are useful and fully local. Visitors can filter six projects by discipline, open a keyboard-accessible reel modal, read individual project stories through stable file-based links, and prepare a structured project brief. The brief validates required fields, creates a reviewable summary, copies it to the clipboard, and offers an explicit email link without silently submitting data. Motion respects reduced-motion preferences throughout.
Brand, positioning, location, audience, specialty, and contact email are variables. Project names, services, sample prices, process details, and inquiry options live in one content file, so a second studio can replace the commercial-film examples with weddings, events, documentaries, or another suitable focus while preserving the same layout and interaction model.
The template prompt
The live demo was built from exactly this text — nothing added.
# Video Production Company Website Build this website exactly as described below. Replace the [VARIABLES] with your own values; keep everything else. ## Brief Build an original five-page static website for [BRAND], an invented video production company in [LOCATION] specializing in [SPECIALTY]. Its centerpiece is a full-viewport showreel made by crossfading generated film stills, supported by a filterable six-project portfolio, query-driven project case studies, a studio page, and a client-side project brief. The default identity is Aster & Frame, a director-led commercial and branded-documentary studio; rewrite every project, client, service, price, and detail to fit the supplied variables. - Audience: The site serves [AUDIENCE]. Primary visitors want to assess visual craft, understand relevant services and likely budgets, inspect complete project stories, and prepare a useful inquiry without creating an account. - Goal: Make the portfolio immediately cinematic, prove range through six distinct projects, explain scope and process in concrete terms, and turn qualified visitors toward the work archive or project-brief flow. All interactions must work from static files with no server. - Tone: Assured, tactile, concise, and director-led. Use specific production language and practical details rather than agency clichés, awards, inflated results, or grandiose claims. All brands, clients, people, projects, addresses, prices, and testimonials are fictional. ## Stack - Framework: Vite 6 + React 19 + TypeScript - Styling: Tailwind CSS 4 - Libraries: motion (MIT), lucide-react (ISC), @fontsource/instrument-serif (OFL-1.1), @fontsource-variable/manrope (OFL-1.1), @fontsource/ibm-plex-mono (OFL-1.1) - Build: `npm run build` → static files in `dist/`. No backend, no server code, no external APIs. - Setup: - Use Vite with base './' and build.rollupOptions.input entries for index.html, work.html, project.html, studio.html, and brief.html; set sourcemap to false and keep all source files outside public/. - Give each HTML body a data-page value and let src/main.tsx mount the matching React page component. Share the header, footer, reel modal, buttons, and reveal primitives without adding a router. - Put every editable string and all sample data in src/content.ts: variables, navigation, client wordmarks, project records, filter labels, services, sample prices, credits, addresses, process steps, FAQs, and form options. Rewrite the complete content model when variable values change; never leave commercial-film examples in an event-film case. - Represent each project with id, title, client, category, image, alt, summary, challenge, approach, deliverables, credits, duration, shootDetails, and accentPosition. Use URLSearchParams only on project.html and fall back to the first project for a missing or unknown id. - Import Instrument Serif, Manrope Variable, and IBM Plex Mono from the listed Fontsource packages in src/index.css. Configure Tailwind 4 theme tokens for the specified colors, fonts, spacing, and keyframes; do not load any font stylesheet from a remote host. - Wrap the app in MotionConfig with reducedMotion='user'. Use local React state for the hero reel, reel modal, project filters, mobile navigation, FAQ accordions, and brief form; no persistence or network calls are required. - Download the six generated images into public/images and reference them with relative './images/<file>' paths. Create ASSETS.md at the project root with every image URL, target path, generation credit, font package, and icon license. - Use Lucide icons only for familiar controls such as Play, Pause, ArrowUpRight, X, Menu, Check, Copy, and ChevronDown. The studio and client identities are text wordmarks, not logo assets. - Ensure the production build emits only static deployable files to dist/, uses relative asset URLs, stays under 20 MB, and runs without console errors at 1440×900 and 390×844. ## Variables - [BRAND] — Studio name (default: "Aster & Frame"). An invented production-company name used as a plain-text wordmark. - [TAGLINE] — Hero tagline (default: "Make the story move."). A short original line that can break across two display lines. - [LOCATION] — Studio location (default: "Portland, Oregon"). City and region shown in the hero, studio details, and footer. - [SPECIALTY] — Production specialty (default: "Commercials and branded documentaries"). The studio's primary offer; adapt projects and services to match. - [AUDIENCE] — Primary clients (default: "marketing leads, founders, and creative teams"). The visitors the copy and project examples should address. - [CONTACT_EMAIL] — Contact email (default: "[email protected]"). Used only in visible contact text and an explicit mailto link; the form itself never transmits. - [CREDIT] — keep a small "Template by VibeFather" link to https://vibefather.ai/t/video-production-company-website in the footer (default: yes; delete this line to remove it) The copy under Pages & Sections is written for the default values. If your values differ, rewrite every headline, paragraph, label and image for them — same length, tone and structure. Layout, colors, type and motion stay as described. Keep all copy, image paths and links in one content file (for example `src/content.ts`), keyed by section, so the content can be swapped later without touching components.
Pro template. The design, sections, motion and assets parts of this prompt are for Pro members. The live demo and DESIGN.md stay free.
Join Pro early access →DESIGN.md
The design system on its own — colors, type, spacing and motion. Apply this look to a project you already have.
---
name: "Video Production Company Website"
colors:
ink: "#0B0B0D"
bone: "#F2EEE7"
ash: "#AAA49B"
ember: "#E56B45"
slate: "#243338"
line: "#343236"
typography:
display_headlines_and_italic_editorial_accents: { family: "Instrument Serif", weights: [400] }
body_copy_navigation_buttons_and_form_controls: { family: "Manrope Variable", weights: [400, 500, 600, 700] }
project_numbers_timecodes_labels_and_technical_metadata: { family: "IBM Plex Mono", weights: [400, 500] }
spacing: "Use a 4px base unit and a 12-column desktop grid inside max-width 1440px with 48px side gutters at 1440px, 28px at tablet, and 20px on mobile. Major sections use clamp(88px, 10vw, 156px) vertical padding. Display headlines use clamp(64px, 9.2vw, 148px) with 0.86 line-height; page titles use clamp(56px, 7.4vw, 112px). Keep body measure at 58–68 characters and metadata at 11–12px with 0.12em tracking."
radius: "Keep the visual language almost square: 2px on images, panels, and inputs; 0px on full-bleed media; 999px only on compact filter chips and status pills. Avoid generic rounded card stacks and heavy shadows."
---
# Video Production Company Website — Design System
Apply this design system to an existing project. It describes the look and feel only; for the full site, use prompt.md.
## Colors
- **Ink** `#0B0B0D` — Primary page background and dark surfaces
- **Bone** `#F2EEE7` — Primary text, reversed buttons, and large display type
- **Ash** `#AAA49B` — Secondary text, metadata, and inactive controls
- **Ember** `#E56B45` — Play control, active filters, links, focus rings, and small highlights
- **Slate** `#243338` — Alternate panels, form fields, and image-placeholder tint
- **Line** `#343236` — Hairline borders, table rules, and control outlines
## Typography
- **Display headlines and italic editorial accents** — Instrument Serif (OFL), weights 400. Self-host the font files.
- **Body copy, navigation, buttons, and form controls** — Manrope Variable (OFL), weights 400/500/600/700. Self-host the font files.
- **Project numbers, timecodes, labels, and technical metadata** — IBM Plex Mono (OFL), weights 400/500. Self-host the font files.
## Spacing & shape
- Spacing: Use a 4px base unit and a 12-column desktop grid inside max-width 1440px with 48px side gutters at 1440px, 28px at tablet, and 20px on mobile. Major sections use clamp(88px, 10vw, 156px) vertical padding. Display headlines use clamp(64px, 9.2vw, 148px) with 0.86 line-height; page titles use clamp(56px, 7.4vw, 112px). Keep body measure at 58–68 characters and metadata at 11–12px with 0.12em tracking.
- Radius: Keep the visual language almost square: 2px on images, panels, and inputs; 0px on full-bleed media; 999px only on compact filter chips and status pills. Avoid generic rounded card stacks and heavy shadows.
## Motion
- The hero automatically crossfades three frames every 4800ms with a 1200ms opacity ease and a slow scale from 1.025 to 1. Pause when the tab is hidden or the hero leaves the viewport; reduced-motion users see the first static frame.
- Play the reel opens a fixed modal and advances all six local stills every 1600ms with a 500ms crossfade, chapter label, elapsed frame counter, and thin progress segments. Play, pause, previous, next, close, Escape, focus trapping, and return-focus behavior must work; there is no audio or remote video.
- Reveal section headings, rules, and project rows once on entry with opacity 0 to 1 and y 36px to 0 over 650ms, staggering siblings by 80ms. Remove transforms and delays under prefers-reduced-motion.
- Filter changes animate visible cards with 180ms opacity and 8px vertical movement while updating counts immediately. Project-card images scale to 1.035 over 500ms on hover and their arrow moves 4px diagonally; focus states receive the same emphasis without depending on hover.
- Each HTML page enters with a restrained 250ms opacity fade. Navigation remains native file navigation; do not intercept clicks or imitate a client-side router. Mobile navigation and FAQ accordions use 200ms opacity and height transitions with reduced-motion alternatives.
## Imagery
Use one coherent set of six realistic cinematic photographs with charcoal and slate-teal shadows, burnt-amber practical light, 35mm anamorphic framing, fine grain, and no text, logos, recognizable faces, real people's likenesses, or identifiable landmarks. The hero layers reel-night, reel-dancer, and reel-vessel; the reel modal uses all six. Each project owns its matching still, and case studies reuse that still in deliberate full-frame and detail-crop compositions rather than inventing extra assets. Keep imagery bright enough to read in screenshots while using a left-to-right black gradient only where headline legibility needs it.
## Tone
Assured, tactile, concise, and director-led. Use specific production language and practical details rather than agency clichés, awards, inflated results, or grandiose claims. All brands, clients, people, projects, addresses, prices, and testimonials are fictional.
---
— Prompt by VibeFather · https://vibefather.ai/t/video-production-company-website · CC BY-NC 4.0 (non-commercial; commercial use needs a VibeFather Pro license) · Request removal: https://vibefather.ai/takedown