GodUI

App Showcase

A realistic iPhone or Android device frame that shows your app on screen, with scroll, loop, carousel, and cluster interactions.

The hero shot of every mobile-app landing page: your screenshots or demo video framed in a real device. Pick a device and an interaction — the screen pans as you scroll, auto-scrolls on a loop, cross-fades a feature tour, or fans out into a parallax cluster. The screen below auto-scrolls while it is in view.

App home screen

Installation

pnpm dlx shadcn@latest add "https://godui.design/r/app-showcase.json"

AppShowcase renders a pure-CSS device shell (accurate Dynamic Island on iPhone, hole-punch on Android) with the screen masked and correctly clipped. Video is a plain DOM overlay to avoid the Safari/iOS masking bug. Every mode has a reduced-motion fallback that renders a calm, static frame.

Usage

tsx
 
import { AppShowcase } from "@/components/godui/app-showcase";

Scroll (default) — Apple-style hero

The phone floats in and the tall screenshot pans with page scroll.

tsx
 
<AppShowcase device="iphone" mode="scroll" src="/app-tall.png" />

Loop — auto-scrolling screen

The screenshot scrolls on a gentle infinite loop while the phone is in view (the preview at the top of this page). Swap device for the Android frame:

tsx
 
<AppShowcase device="android" mode="loop" src="/app-tall.png" />

Cross-fade through multiple screens with dot controls.

Screen 1

Cluster — parallax centerpiece

Two or three phones at different depths that react to the pointer.

Frame colors

Each device comes in black, silver, and gold finishes.

Props

PropTypeDefaultDescription
device"iphone" | "android""iphone"Device frame to render.
mode"scroll" | "loop" | "carousel" | "cluster""scroll"The screen interaction.
srcstringSingle screen source (scroll / loop). A tall image pans best.
videoSrcstringScreen video source (scroll / loop).
screensstring[]Screens for carousel / cluster.
frameColor"black" | "silver" | "gold""black"Bezel finish.
autoplaybooleantrueAutoplay the loop / carousel.
intervalnumber4Carousel step / loop pace, in seconds.
widthnumber300Frame width in px; height derives from the aspect ratio.
altstringAccessible label for the screen media.

AppShowcase also forwards every standard <div> attribute to the root.

On this page

Built with GodUI

Beautifully crafted motion components for modern interfaces.

Star on GitHub