Skip to content

Product Shot Hero

A dominant framed app-window screenshot mock with the headline as a caption above it.

Prominimalglass
Category
Heroes
Added
2026-09-01
Deps
1
Updated
2026-09-01

This is a viberdy Pro component

The live preview, the props panel and the write-up are open to everyone. The full source, the AI prompt and CLI install are part of Pro.

Preview

The whiteboard that keeps up with the team.

Props

3D tilt on window
Requires framer-motion
"use client";

// Full-size shippable hero. The registry preview above is a scaled-down
// stand-in for this component at normal type scale.
import { motion } from "framer-motion";

function AppWindow({ tilt }: { tilt: boolean }) {
  return (
    <motion.div
      initial={{ opacity: 0, y: 28, rotateX: tilt ? 10 : 0 }}
      animate={{ opacity: 1, y: 0, rotateX: tilt ? 10 : 0 }}
      transition={{ duration: 0.7, ease: [0.16, 1, 0.3, 1] }}
      style={{ perspective: 1200 }}
      className="w-full max-w-4xl overflow-hidden rounded-2xl border border-white/10 bg-zinc-950 shadow-2xl"
    >
      <div className="flex items-center gap-2 border-b border-white/10 px-5 py-3">
        <span className="h-3 w-3 rounded-full bg-white/20" />
        <span className="h-3 w-3 rounded-full bg-white/20" />

  // ---------------------------------------------------------------
  // Full source available with a viberdy Pro subscription.
  // https://viberdy.dev/pricing
  // ---------------------------------------------------------------
}
Notes

About this heroe

The structural bet here is proportion: the screenshot, not the sentence, gets the majority of the hero's real estate, so the headline is deliberately written and sized as a caption rather than a statement that needs room to breathe. It works for anything with a genuinely good-looking interface — the fake window here should be swapped for a real screenshot the moment this ships — and it's the wrong choice for products where the interface is incidental to the value (an API, a service, a policy change). The one non-obvious detail: the tilt is done with a CSS `perspective` set via inline `style` on the wrapper plus a Framer `rotateX`, not a Tailwind utility, because there is no theme token for perspective and 3D transforms need the perspective and the rotated element in a specific parent/child relationship to render correctly. Caveat: heavy tilt reads as gimmicky past about 10-12 degrees and can clip drop shadows at the frame edge — keep it subtle.

Related

Pairs well with

Matched on shared tags and category — the entries most likely to be used alongside this one.

Pro

A copy-left, product-right split with a floating stacked dashboard card.

herosplitdashboard
Pro

A full marketing landing page: nav, hero, logo band, feature grid, and footer.

landingsaasmarketing
Pro

Copy beside an asymmetric bento grid of small feature-glimpse tiles.

herobentogrid